Predicting a supply chain performance

ABSTRACT

Methods and systems to predict a supply chain performance are described. A system receives supply chain data for delivery of a product. The supply chain data includes input signals comprising operational plans and observed supply chain operational metrics. The input signals include a delivery date of the product. The system automatically generating predicted supply chain operational metrics across including a value at risk that is predicted for the product. The system automatically infers causal factors that impact the predicted supply chain operational metrics including impacting the value at risk that is predicted for the product. The system automatically generates action recommendations for the supply chain. An action recommendation includes a first predicted value impact and a sequence of actions impacting the product the delivery date of the product and the value at risk that is predicted for the product.

RELATED APPLICATIONS

This application claims the priority benefit of U.S. ProvisionalApplication No. 62/787,013, filed Dec. 31, 2018, incorporated byreference in its entirety.

TECHNICAL FIELD

This disclosure relates to the technical field of data processing andmore particularly for predicting a supply chain performance.

BACKGROUND

Highly dynamic business environments present several technicalchallenges to Enterprise Resource Planning (ERP). In complex andfast-moving supply chains, in industries like retail, food, beverage andother consumer packaged goods, planners typically have limitedpredictive insight into causal factors across the value stream drivingcustomer fulfillment issues. Even though planners and operational teamsmay have intuition and extensive experience on the underlying factors,they do not have access to systematic intelligence that quantifies thefinancial impact of the various actions and are, therefore, unable toprioritize the right action, at the right time, on the right productline or category depending on their function in the supply chainplanning process. Example problems with current supply chain planningsystems include: 1) information and tools, that supply chain plannershave at their disposal, not providing them with relevant insight into aroot cause of an issue, its context, or its propagation; 2) informationthat is voluminous and noisy indicators leading to long processing timeby supply chain planners, resulting in an insufficient time to act orprioritize; 3) information and tools, at the planner's disposal, that donot facilitate prioritizing actions based on financial metrics or otherobjective metrics that are beneficial to the business and itsoperations; 4) information and tools, at the planner's disposal, that donot provide a way of measuring and/or understanding the impact (fiscalor operational) of taking a specific sequence of actions, resulting inunknowingly taking actions that are counter to the desired globalobjective; and 5) information and tools, at the planner's disposal, thatisolate planners to focus on global objectives within their ownoperational silos rather than the objectives of the overallenterprise/business.

SUMMARY

This disclosure relates to three aspects of a supply chain including afirst aspect for predicting supply chain performance, a second aspectfor controlling inventory in the supply chain, and a third aspect forcontrolling production resources in the supply chain, as set out below.

According to the first aspect of the supply chain, predicting a supplychain performance is described. A machine-learning application,previously trained with supply chain training data, receives supplychain data including a delivery date of a product. The machine-learningapplication automatically generates predicted supply chain operationalmetrics based on the supply chain data. The predicted supply chainoperational metrics provide a meaningful context for making decisions.For example, the predicted supply chain operational metrics include avalue at risk that is predicted for the product. The machine-learningapplication automatically infers causal factors that impact thepredicted supply chain operational metrics including the value at riskthat is predicted for the product. Finally, the machine-learningapplication generates action recommendations for the supply chain. Eachaction recommendation includes a predicted value impact for implementingthe action recommendation, a sequence of actions impacting the deliverydate of the product and the value at risk. The action recommendationsare selectable for execution in a semi-autonomous mode or automaticallyexecuted in a fully-autonomous mode.

According to the second aspect of the supply chain, controllinginventory in the supply chain is described. The machine-learningapplication, previously trained with supply chain training data,receives supply chain data. The machine-learning applicationautomatically generates predicted supply chain operational metricsacross a plurality of nodes of the supply chain. The predicted supplychain operational metrics include a value at risk that is predicted fora product. The predicted supply chain operational metrics provide ameaningful context for controlling inventory in the supply chain. Themachine-learning application automatically infers causal factorsimpacting the predicted supply chain operational metrics andcommunicates, over a network, a user interface for shipments of theproduct. Finally, the machine-learning application receives inputcausing a change to a shipment of the product. The change to theshipment of the product impacts the predicted supply chain operationalmetrics including the value at risk for the product.

According to the third aspect of the supply chain, controllingproduction resources in the supply chain is described. Amachine-learning application, previously trained with supply chaintraining data, receives supply chain data. The machine-learningapplication automatically generates predicted supply chain operationalmetrics across a plurality of nodes of the supply chain. The predictedsupply chain operational metrics include a value at risk associated witha scheduling of a production run. The scheduling of the production runincludes a scheduling of a production of the first product with aproduction resource. The machine-learning application automaticallyinfers causal factors that impact the predicted supply chain operationalmetrics. The causal factors including a change to a utilization of thefirst production resource. The machine-learning application communicatesa user interface including user interface elements corresponding toproduction runs being scheduled on the production resource. The userinterface includes user interface elements representing a scheduling ofthe production run associated with the value at risk. Themachine-learning application receives input, over the network, causing achange to a utilization of the production resource impacting thepredicted supply chain operational metrics including the value at riskassociated with the scheduling of the first production run.

A problem to be solved includes how to provide intuitive and easy to useworkflows including decision support processes to supply chain plannerswho analyze their own respective silos of supply chain data to makedecisions in a global supply chain system based on non-intuitive (e.g.,tabular) data. The solution to the problem is to combine machinelearning with real-time supply chain data to cause decision makingprocesses for supply chain planners to be presented in electronic userinterfaces including contextual data that is normalized, visuallyintuitive, and value-centered. The contextual data includes, at least,predicted supply chain operational metrics including an alert metric, avalue at risk metric, an inventory days of supply metric, a fill ratemetric, a capacity metric, and other metrics described below. Forexample, the alert metric includes alerts for product families and/orproducts and the value at risk metric includes a value at risk for theproduct families and/or the products.

BRIEF DESCRIPTION OF THE DRAWINGS

To easily identify the discussion of any particular element or act, themost significant digit or digits in a reference number refer to thefigure number in which that element is first introduced.

FIG. 1 is a block diagram illustrating a supply chain, according to anembodiment;

FIG. 2 is a block diagram illustrating a supply chain intelligencesystem, according to an embodiment;

FIG. 3 is a block diagram illustrating training and use of amachine-learning program, according to an embodiment;

FIG. 4 is a block diagram illustrating a method, according to anembodiment, to receive and transform data;

FIG. 5 is a block diagram illustrating a method, according to anembodiment, to manage a supply chain;

FIG. 6 is a block diagram illustrating supply chain data, according toan embodiment;

FIG. 7 is a block diagram illustrating a method, according to anembodiment, to create new features;

FIG. 8 is a block diagram illustrating a method, according to anembodiment, to characterize product and network node behavior;

FIG. 9 is a block diagram illustrating a method, according to anembodiment, to perform feature selection and model selection to predictoutcome variables;

FIG. 10 is a block diagram illustrating a method, according to anembodiment, to perform model validation and create model ensembles;

FIG. 11A illustrates an action recommendations user interface, accordingto an embodiment;

FIG. 11B illustrates an action recommendations tracking record,according to an embodiment;

FIG. 11C illustrates a method, according to an embodiment, to manage anautomated supply chain;

FIG. 11D is a block diagram illustrating a method, according to anembodiment, to present and process action recommendations;

FIG. 11E is a block diagram illustrating a method, according to anembodiment, to execute action recommendations in fully-autonomous mode;

FIG. 12 is a block diagram illustrating supply network planning userinterface, according to an embodiment;

FIG. 13A illustrates an inbound shipments user interface, according toan embodiment;

FIG. 13B illustrates a stock transfer request user interface, accordingto an embodiment;

FIG. 13C illustrates the inbound shipments user interface, according toan embodiment;

FIG. 13D illustrates a reallocate outbound shipment user interface,according to an embodiment;

FIG. 13E illustrates an outbound shipments change user interface,according to an embodiment;

FIG. 13F illustrates the reallocate outbound shipment user interface,according to an embodiment;

FIG. 13G illustrates an outbound shipment tracking record, according toan embodiment;

FIG. 13H illustrates a method, according to an embodiment, to controlinventory in a supply chain;

FIG. 13I is a block diagram illustrating a method, according to anembodiment, to present and process shipments;

FIG. 14A illustrates a production run user interface, according to anembodiment;

FIG. 14B illustrates a production schedule change user interface,according to an embodiment;

FIG. 14C illustrates the production run user interface, according to anembodiment;

FIG. 14D illustrates a production order user interface, according to anembodiment;

FIG. 14E illustrates a production schedule change user interface,according to an embodiment;

FIG. 14F illustrates the production order user interface, according toan embodiment;

FIG. 14G illustrates a production tracking record, according to anembodiment;

FIG. 14H illustrates a method, according to an embodiment, to controlproduction resources in a supply chain;

FIG. 14I is a block diagram illustrating a method, according to anembodiment, to present and process production resources;

FIG. 15 is a diagrammatic representation of a machine, according to anembodiment; and

FIG. 16 is a block diagram illustrating a software architecture,according to an embodiment.

DETAILED DESCRIPTION

The example systems disclosed herein seek to address problems in fastmoving supply chains with complex planning processes and tools in use.

An example system includes electronic components configured to receiveplanning and operational supply chain time series data at varyingfrequencies, wherein the input signals are suitable for measuringplanning and operational metrics across a supply chain at various pointsin time and process to 1) predict and forecast critical supply chainoperational metrics; 2) infer causal factors; and 3) provide actionrecommendations.

The prediction and forecasting of critical supply chain operationalmetrics include predicting and forecasting metrics across multiple nodes(e.g., physical locations such as warehouses, distribution/logisticscenters, production plants etc.) of a supply chain network. Thepredicting and forecasting is performed at various hierarchical levels(e.g., product category, geo-location, customers, distribution centers,hubs, logistic centers, customer locations, geography, etc.) for productlines including products referred to as stock keeping units (SKUs) andover forward-looking time horizons (e.g., weeks/months/years). Systemparameters measured and predictions include, but are not limited to, afill-rate, service levels, inventory metrics, demand forecasts, forecastattainment, and value at risk. The fill-rate is defined as a fraction ofcustomer demand (e.g., sales orders) met through immediate stockavailability (e.g., without backorders or lost sales) at forward-lookingtime horizons. Service levels are defined as the expected probability ofnot receiving a “stock out” message responsive to a request for aproduct. Inventory metrics include various inventory-level metricsincluding a days of supply, inventory turns, delta-to-target stockmetric, a safety stock metric, and the like. Demand forecasts predictthe amount of product being demanded at a future time. Demand forecasts,in turn, facilitate predicting inventory levels. For example, inventorylevels may be predicted by taking the amount of product available at aparticular node at a specific point in time, adding the number ofproducts (e.g., production in) being shipped into the node, andsubtracting the number of products (e.g., demand out) being shipped outof the node. Forecast attainment is defined with respect to a shippedproduct or ordered products. Forecast attainment for shipped products isdefined as a shipped quantity of products divided by forecasted quantityof shipped products. Forecast attainment for ordered products is definedas an ordered quantity of products divided by forecasted quantity ofordered products. In addition, forecast attainment is sometimes referredto as bookings-to-forecast ratio. The value at risk is a predictedcomposite comprised of: 1) lost sales (in case of low stock (backordersor lost sales)); 2) inventory holding costs that accrue for stock thatis produced and waiting as inventory to be filled responsive toreceiving purchase requisitions and orders for the stock; 3) expeditedcosts that accrue because of a low quantity of stock in one location inthe supply chain and a high quantity of stock in another location in thesupply chain; liquidation costs associated with dispensing of stock thatis not sold; and other operational costs (e.g., production resourcemaintenance, production resource repair, production resourcereplacement, production resource labor), 4. Liquidation costs due toexpiration of inventory or constituent materials to produce the product;5) Discounting or remarketing costs due to price reduction in order tomove inventory off the shelf/reduce inventory holding.

The inferring of causal factors includes understanding the drivers thatimpact the above defined predicted supply chain operational metricsacross the hierarchical nodes in the supply chain distribution network.The capability to infer causal factors provides planners insight,quantitative measures via a visual interfaces and electronic media, andcontrols for impacting the above defined predicted supply chainoperational metrics in a meaningful way and quantitatively measurableway.

The provision of action recommendations includes providing actionrecommendations that include predicted value impacts (e.g., improvementin service level or operational cost reduction) associated with actions(financial/operational) directed at shipment of products in the supplychain or production of products on production resources in the supplychain. For example, each action recommendation may include afuture-looking quantified cost-benefit analysis (financial andoperational) that maximizes business value (or a specific objective)associated with an action path for shipping or producing products.Accordingly, predicted value impacts associated with one or more actionrecommendations may provide the user (planners, etc.) an ability tosimulate various scenarios and understand an impact to a value at riskwithout actually executing or committing a specific set of actions inthe real-time execution engines. That is, comparing predicted valueimpacts provides the users with the opportunity to perform scenariosimulation prior to taking a decision. For example, a first set ofaction recommendations (each including a predicted value impact)provides a user with an opportunity to perform scenario simulation priorto taking the same decision over various time-horizons (e.g., 1 day fromtoday, 2 days from today, etc.). Further for example, a second set ofaction recommendations may provide a user with the ability to simulate amultitude of scenarios taking various expedite actions (as describedlater in this document) to understand the impact of a particular actionrecommendation on a value at risk that is being predicted and thenchoose the best possible action recommendation to minimize the value atrisk. Further for example, a third set of action recommendations mayprovide a user with the ability to simulate various scenarios by takingvarious inventory allocations (as described later in this document) tounderstand the impact of a particular action recommendation on a valueat risk being predicted and then choose the best possible action tominimize the value at risk.

To these ends, there are provided methods and systems, according tovarious example embodiments, that may: 1) identify root causeinformation based on instantaneous, real-time or near real-time supplychain information and present the root cause information to specificusers as contextualized information (e.g., key performance indicators insupply chain such as lead-time changes or production down-time) atvarious functional locations within a system; 2) provide prognosticalerts to users based on the causal factors, predictive indicators ofdegradation in key performance metrics across the supply chain network;3) predict key underlying system parameters and key performance metricsbased on variation introduced at different network nodes; 4) recommendan action or a sequence of actions to empower users to choose workflowsthat improve operational and/or financial key performance metrics; and5) calculate value at risk for a range of controllable action sequencesand prioritize this information. The above information may be presentedto users via electronic user interfaces and other media that arenormalized, visually intuitive, and value centered. In addition, theabove information is fed back into real-time execution systems withinthe user domain.

The example methods and systems may function in a manual mode, asemi-autonomous mode, or a fully-autonomous mode. The manual modereceives user input (e.g., via selection(s) of user interface elementsfrom one or more user interfaces) (e.g., user data) causing an executionof an action sequence including one or more actions. Each actionsequence is executed responsive to its selection and in accordance withreal-time information. The manual mode may be utilized to receive userinput for causing action sequences effecting the movement of products inthe supply chain or effecting production of products in the supplychain. For example, the manual mode may receive user input that causes achange to a means of shipping a product, or a change to a quantity ofproduct shipped, or a change to a utilization of one or more productionresources used for producing a product.

The semi-autonomous mode receives user input causing selection of anaction recommendation from a set of action recommendation actions. Theaction recommendations may be prioritized according to a value at risk.Each action recommendation includes an action sequence including one ormore actions that, if executed, eliminates or significantly reduces thevalue at risk. Each action recommendation is executed responsive to itsselection in accordance with real-time information. The semi-autonomousmode may be utilized to select an action recommendation including actionsequences effecting the movement of products in the supply chain oreffecting production of products in the supply chain. For example, thesemi-autonomous mode may be utilized to change to a means of a shipmentof a product, or to change a quantity of product shipped, or to change autilization of one or more production resources for producing theproduct.

The fully-autonomous mode operates with minimal user intervention. Forexample, the fully-autonomous mode may be turned on to automatically andperiodically select an action recommendation based on an optimization ofa system objective function (related to key performance metrics). Thesystem objective function may be utilized for driving operational andfinancial behavior of an organization for a product. If for example, avalue at risk associated with an action recommendation for a product isgreater than a predetermined value, then the action recommendation maybe executed. Also, if for example, a predicted value impact associatedwith an action recommendation for a product is greater than apredetermined value, then the action recommendation may be executed. Thefully-autonomous mode may be utilized to select an action recommendationfrom a set of action recommendations. The action recommendations includeaction sequences affecting the movement of products in the supply chainor affecting production of products in the supply chain.

Example methods and systems may continuously learn from execution of theabove described action sequences, whether initiated in the manual mode,semi-autonomous mode or fully-autonomous mode. For example, the methodsand systems may monitor the efficacy of the action sequences to generatean adjustment to an action sequence, automatically modify thecorresponding action recommendation based on the adjustment or generatea new action recommendation based on the adjustment. The adjustment maybe generated by learning from past behavior and identifying changes toaction sequences that would further maximize the reward or minimizevalue at risk (or the key operational metric).

FIG. 1 is a block diagram illustrating an example supply chain 100,which may be managed by an automated supply chain intelligence system.The supply chain 100 is defined as a sequence of processes involved inthe production and distribution of a product. The automated supply chainintelligence system may manage one or more sequences of processesinvolved in the production and distribution of a product. In someexample embodiments, the automated supply chain intelligence system mayoperate to predict fill rates, service levels, inventory performance,demand forecasts, forecast attainment, value at risk, as well as inferroot causes and recommended prescriptive action for planners that managefast-moving supply chains, such as the supply chain 100.

The example supply chain includes nodes in the form of a materialssupplier 102, a plant 104, a hub 106 and a distribution center 108. Thematerial suppliers 102 fulfill material purchase orders (POs) receivedfrom a plant 104, such fulfillment including a specific lead time (e.g.,five weeks). The plant 104 executes a process order (e.g., production)to produce products (e.g., stock), fulfils stock transfer orders to thehub 106 and the distribution center 108, each of these fulfillments inturn having their respective lead times. The plant 104 furthermore mayfulfill direct sales orders for products to a customer 110, again with aspecific lead time. Likewise, the hub 106 may fulfill the stock transferorder to the distribution center 108 for moving products. Thedistribution center 108 in turn may fulfill a sales order in deliveringproducts to the customer 110. Each of the materials purchase orders,process orders, stock transfer orders and sales orders have respectivelead times, and management of these lead times presents a number oflogistical and technical challenges, particularly when delays areintroduced into the supply chain by unforeseen circumstances.

FIG. 2 is a block diagram illustrating a supply chain intelligencesystem 200, according to an embodiment. The supply chain intelligencesystem 200 includes a networked system 201 that includes networkentities in the form of one or more client machines 203 that arecommunicatively coupled with one or more supply chain server machines205 that, in turn, are communicatively coupled with external datasources 202, that, in turn, are communicatively coupled with arelational database system 212, that, in turn, is communicativelycoupled with an intermediate staging database 210, that, in turn, iscommunicatively coupled with a production database 216.

The networked system 201 may be embodied as a networked computingenvironment where the client machines 203, the supply chain servermachines 205, the external data sources 202, the relational databasesystem 212, the intermediate staging database 210, and the productiondatabase 216 are interconnected through one or more public networks(e.g., Vendors that provide Cloud Computing Platform & Services orSuper-computing as a service over the web, Web Services, and the like)and/or proprietary networks. Accordingly, the arrows between the networkentities are only suggestive of the possible interconnections betweenthe network entities included in the networked system 201.

The relational database system 212 may include an input staging database214 and an application data model database 226. The relational databasesystem 212 provides an interface between the external data sources 202(via the intermediate staging database 210), the supply chain servermachines 205, and the production database 216, as described furtherbelow.

The external data sources 202 may receive and process informationpertaining to a supply chain, such as the supply chain 100 shown inFIG. 1. These external data sources 202 include planning systems 208including an enterprise resource planning (ERP) system 204 and acustomer resource planning (CRM) system 206. Various supply chaininformation items, which will be discussed in further detail below, areextracted from the external data sources 202, and stored in anintermediate staging database 210, before being transferred to therelational database system 212. Here, the supply chain information isstaged within the input staging database 214, before being transferredto the production database 216.

The supply chain server machines 205 host a machine-learning (ML)application 218, a machine-learning (ML) application trainer 224, andaccess applications 228. The machine-learning (ML) application 218(e.g., model) may access the production database 216, and user dataingestion and AI pipelines 220 to ingest and process supply chaininformation from the production database 216. The machine-learningapplication 218 also includes various deployed models 222 that may beselected and deployed, as further described below. The output of thedeployed models 222 may be stored within the application data modeldatabase 226.

The access applications 228 provide an interface between the supplychain planners 230 and the machine-learning application 218. Forexample, the machine-learning application 218 includes deployed models222 that generate output that is stored within the application datamodel database 226, which, in turn, may be accessed, via the accessapplications 228 and the client machines 203, by the supply chainplanners 230. In addition, the machine-learning application 218 isaccessible, via the access applications 228 and the client machines 203,to the supply chain planners 230.

The supply chain planners 230 may include demand planners, inventorymanagers, product brand managers, operations managers and productionresource managers. The inventory managers control inventory (e.g., SKU,products) in the supply chain 100. For example, the inventory managersmay move inventory that is located at the plant 104, the hub 106, or thedistribution center 108, as shown in FIG. 1, to another plant 104, hub106, or distribution center 108. Returning to FIG. 2, for example, theinventory manager may expedite a shipment of a product (e.g., firstaction) and/or reallocate quantities of products being shipped inoutbound shipments (e.g., second action).

The resource planners control production resources that produce products(identified by their stock keeping units (SKUs)). A production resourcemay include one or more machines, one or more tools, one or moreemployees, or any combination thereof. The production resources may belocated at the plants 104 in the supply chain 100, as shown in FIG. 1.In addition, the production resources may be located at the hubs 106 ordistribution centers 108 in the supply chain 100, as shown in FIG. 1.Returning to FIG. 2, the resource planner may reschedule a production(e.g., production run) of a product (e.g., lipstick, red) on a firstproduction resource (e.g., third action) and/or reschedule a productionof a product from the first production resource to a second productionresource (e.g., fourth action) and/or increase a quantity of theproduction of the product on the first production resource (e.g., fifthaction).

A machine-learning application trainer 224 operates to train themachine-learning application 218, as described further in FIG. 3.

FIG. 3 illustrates training and utilization 300, according to anembodiment, of a machine-learning program. In some example embodiments,machine-learning programs, also referred to as machine-learningalgorithms or tools, are used to perform operations automated in supplychain management and optimization.

Machine learning is a field of study that gives computers the ability tolearn relationships that are not explicitly programmed. Machine learningexplores the study and construction of algorithms, also referred toherein as tools, that may learn from existing data and make predictionsabout new data. Such machine-learning tools operate by building a model(e.g., machine-learning application) from supply chain training data 304in order to make data-driven predictions or decisions expressed asoutputs or assessment 308. The supply chain training data 304 includesdata generated by supply chains (e.g., supply chain data 306). In oneembodiment, the supply chain training data 304 may include supply chaindata 306 taken from one or more supply chains that are similar to thesupply chain 100. In another embodiment, the supply chain training data304 may include observed supply chain operational metrics observed inthe supply chain 100 and operational plans. In one embodiment, thesupply chain training data 304 may include observed supply chainoperational metrics fed to the machine-learning application 218 andlater recirculated as a subsequent version of the supply chain trainingdata 304. Although example embodiments are presented with respect to afew machine-learning tools, the principles presented herein may beapplied to other machine-learning tools.

In some example embodiments, different machine-learning tools may beused. For example, Logistic Regression (LR), Naïve-Bayes, Random Forest(RF), neural networks (NN), matrix factorization-based methods, andSupport Vector Machines (SVM) tools may be used for classifying orscoring job postings.

Two common types of problems in machine learning are classificationproblems and regression problems. Classification problems, also referredto as categorization problems, aim at classifying items into one ofseveral category values (for example, is this object an apple or anorange?). Regression algorithms aim at quantifying some items (forexample, by providing a value that is a real number). Themachine-learning algorithms use the supply chain training data 304 tofind correlations among identified features 302 that affect an outcome.

The machine-learning algorithms of the machine-learning (ML) application218 (e.g., model) use features 302 for analyzing the data to generatedata for the application data model database 226. Each of the features302 is an individual and measurable property of a phenomenon beingobserved. Choosing informative, discriminating, and independent featuresis important for effective operation of the machine-learning programs inpattern recognition, classification, and regression. Features may be ofdifferent types, including numeric, string, and graph. A feature may beBoolean (is_red?), discrete with multiple values (what color?) orcontinuous (what_wavelength?). In one example embodiment, the features302 may include one or more of content 310, concepts 312, attributes314, historical data 318 and/or user data 316.

The content 310 quantifies the information content of a feature 302. Theinformation content of a feature 302 may be utilized to determinewhether the feature 302 is selected to make a decision (e.g., in adecision tree). In one embodiment, the information content of a feature302 may be defined as a measure of uncertainty in a decision minus ameasure of uncertainty remaining in the decision, after including thefeature 302 to make the decision. The content 310 metric facilitatesmaking a decision sooner because the uncertainty remaining, in makingthe decision, may be insignificant. In one embodiment, the informationcontent of the feature 302 may be compared with the information contentof another feature 302 to select one of the features to make a decision(e.g., in a decision tree). In one embodiment, the information contentof the feature 302 may be compared with a predetermined value. If, forexample, the content 310 of the feature 302 is equal to or greater thana predetermined value, then the feature 302 may be selected to make adecision. In one embodiment, the content 310 may be a measurement ofentropy. For example, the entropy of a decision may be measured before(“e-before”) making a decision, measured after utilizing a feature 302to make the decision (“e-after”), and subtracted to generate an“e-difference” (e.g., (“e-before”)−(“e-after”)=“e-difference”). If, forexample, the “e-difference” is equal to or less than a predeterminedvalue, then the feature 302 may be selected to make a decision.

A concept 312 categorizes features 302. For example, the concept 312“transportation” may be utilized to classify the features 302 “number ofcars,” “number of trains,” “number of busses,” and the like.Accordingly, each of the aforementioned features 302 may be categorizedwith the concept 312 “transportation.” In one approach, the concept 312may refer to a design concept utilized at a concept level and thefeatures 302 may be utilized to implement the design concept.

The attributes 314 of a feature 302 may be utilized to identify a sourceof the feature 302. For example, the attributes 314 may identifyuniversal resource locater identifying a table and a column in the tablefrom which a column of values are retrieved (e.g., each rowcorresponding to a row or object).

The historical data 318 may include data collected over time. Forexample, the historical data 318 may include data collected over timeabout suppliers. In one example, the historical data 318 may includewhether suppliers delivered supplies early, on-time, or late. In anotherexample, the historical data 318 may include the condition of suppliesfrom suppliers. In another example, the historical data 318 may includesuppliers lead time for a product, and the like.

The user data 316 may include data received from a user who interactswith supply chain 100. For example, the user data 316 may be datareceived from a supply chain planner 230 including the resource managerand/or supply chain manager, as previously described. The user data 316received from the inventory manager may include data to expedite ashipment of the product (e.g., first action) and/or data to reallocatequantities of products being shipped in outbound shipments (e.g., secondaction). The user data 316 received from the resource manager mayinclude data to reschedule a production (e.g., production run) of aproduct (e.g., lipstick, red) on a first production resource (e.g.,third action) and/or data to reschedule a production of a product fromthe first production resource to a second production resource (e.g.,fourth action) and/or data to increase a quantity of the production ofthe product on the first production resource (e.g., fifth action).

The machine-learning algorithms use the supply chain training data 304to find correlations among the identified features 302 that affect theoutcome or assessment 308. In some example embodiments, the supply chaintraining data 304 includes labeled data, which is known data for one ormore identified features 302 and one or more outcomes, such as observingresults, detecting patterns, detecting meaning, generating a summary,detecting action items, etc.

With the supply chain training data 304 and the identified features 302,the machine-learning application 218 (e.g., model) is trained bymachine-learning application trainer 224. The machine-learningapplication 218 appraises the value of the features 302 as theycorrelate to the supply chain training data 304. The result of thetraining is the machine-learning application 218.

When the machine-learning (ML) application 218 is used to perform anassessment, supply chain data 306 is provided as an input to themachine-learning (ML) application 218, and the machine-learning (ML)application 218 generates the assessment 308 as output to theapplication data model database 226. Note that the supply chain data 306is different from the supply chain training data 304 and that the supplychain data 306 may be captured in real-time as the supply chain isfunctioning. Note also that the supply chain data 306 may be utilized asa source of supply chain training data 304.

The features 302 for the supply chain 100 may include or be based ondata included in the supply chain data 306 and/or combinations of dataincluded in the supply chain data 306. The supply chain data 306 isdescribed in association with FIG. 6. For example, the feature 302 mayinclude stock levels, supplier lead times that are stated, supplier leadtimes that are actual, sales orders, stock transfer orders, stocktransfer requests, and the like. Further for example, the feature 302may include any combination of the stock levels, the supplier lead timesthat are stated, the supplier lead times that are actual, the salesorders, the stock transfer orders, the stock transfer requests, and thelike.

FIG. 4 is high-level flowchart of a method 400, according to anembodiment, to receive and transform data. The method 400 provides ahigh-level overview of the ingestion and transformation of data. Themethod 400 may commence at operation 402, with a data analyst receivingbasic key performance indicators (KPIs). At operation 404, the dataanalyst may generate transformed data based on the KPIs. At operation406, the data analyst may generate compressed/dimensionally reduced dataor a latent space representation based on the transformed data. Atoperation 408, the machine-learning (ML) application 218 generatespredictions based on the compressed/dimensionally reduced data or thelatent space representation. Further details are provided below withreference to FIG. 5. According to another embodiment, the operations402, 404, and 406 may be fully or partially automated by utilizing oneor more access applications 228 (e.g., access modules).

FIG. 5 is a flowchart illustrating a method 500, according to anembodiment, to manage a supply chain. The method 500 is performed by theautomated supply chain intelligence system 200, which employs machinelearning and artificial intelligence, to manage the supply chain 100.The method 500 may be used to predict fill-rate, service levels,inventory metrics, demand forecasts, forecast attainment, value at risk,as well as infer resources and recommend prescriptive action forplanners in a fast-moving supply chain, such as the supply chain 100shown in FIG. 1.

The method 500 commences at operation 600, ingesting supply chain data306 is ingested (e.g., received) from a complex supply chain. Forexample, a data analyst may ingest the supply chain data 306 from thesupply chain 100. The ingested supply chain data 306 relates tooperational plans and observed (e.g., measured) supply chain operationalmetrics across the supply chain 100. The supply chain data 306 may bereceived from various external data sources 202, such as those describedabove with reference to FIG. 2. In addition to ingestion (e.g., inbatches), the supply chain data 306 may be streamed, in real time, fromthe external data sources 202.

At operation 600, the supply chain data 306 is represented by an inputdata model, within the input staging database 214. For example, a dataanalyst may represent the supply chain data 306 as a data model withinthe input staging database 214. The input data model encapsulatesrelationships and links disparate information together in time, both asentities and as a hierarchy that reflects an actual supply chainexecution sequence of the supply chain 100. The supply chain data 306may consist of continuous signals in time, encoded entities (e.g.,product codes, locations, network node numbers), textual information(e.g., the names of products, categories, users, customers), anddocuments containing unstructured data (e.g., schedules, agreements,marketing campaigns etc.).

At operation 502, the supply chain data 306 is ingested and transformedto create the features 302. For example, a data analyst may ingest andtransform the supply chain data to create multi-variate heterogeneousfeatures. The multi-variate heterogeneous features include but are notlimited to key performance metrics (e.g., key performance indicators(KPIs)). Examples of such key performance metrics may include demandforecasts, inventory positions, production metrics, supply/demandnetworks, geographic hierarchies in time, etc.

At operation 700, the machine-learning application 218 modifies thefeatures 302 (e.g., heterogeneous features) using mathematical,statistical, information theoretic transformations. Examples of themathematical, statistical, and information theoretic transformationsinclude log, exponent, sine or cosine moments of a feature distribution,mutual information score across multiple features, vectorization of wordsequences or N-grams of word sequences and/or encoded representations ofdata using compression techniques or other mathematical transformationsfurther described with reference to FIG. 7. The machine-learningapplication 218 modifies the features 302 to arrive at lower-dimensionalrepresentations capturing latent states within the supply chain 100, asrepresented by the features 302.

At operation 800, the machine-learning application 218 modifies thefeatures 302 using the representations to learn and automaticallycharacterize the behavior of hidden sources that generate externallyobserved external signals. For example, the hidden sources products A, Band C may generate similar signals at regions X, Y and Z during specificseasons. Further details regarding operations performed at operation 800are described below with reference to FIG. 8.

At operation 506, the machine-learning application 218 may represent thebehaviors as generative data models/classes that encapsulate theattributes and information needed to regenerate the observed signals.The behaviors are utilized as one or more methods to segment andcategorize the observed information. These data models/classes form thebasis for the first level of causal attribution, performed at operation504, into signals that drive the system behavior across the supply chainnetwork. In more detail, at operation 504, the machine-learning (ML)application 218 (e.g., model) iteratively operates to identifycharacteristics that define data classes for products.

At operation 504, the machine-learning application 218 identifies,scores, and ranks strong causal attributes that are inferred to relatesignificantly to the objective of interest. Representations generated atoperation 506 are concatenated with the transformed heterogeneousfeatures developed at operation 502 and with the ranked causal factorsgenerated at operation 504 to provide synthetized and better organizedinformation, in addition to causal attribution.

At operation 900, the machine-learning application 218 feeds thisenriched data into the automated model creation to identify an optimal(or selected) set of models (e.g., machine-learning (ML) application218) and selected features that predict key performance metrics (KPIs)that are indicative of process and operational efficiency of the supplychain networks (e.g., in supply chain 100). For example, the models mayinclude random forest, gradient boosted machines, Bayesian hierarchicalregression models, hidden Markov models, mixture models, deep learningand neural network architecture-based models) (e.g., feed-forward,recurrent, long-term short-term memory, adversarial, and the like). Themachine-learning application 218 considers all such variables thatdirectly or indirectly influence each other and the outcome of interest,examples of which include but are not limited to the predicted supplychain operational metrics in the form of service levels, fill-rates,operational expenses, cost of goods sold, inventory level metrics(safety stock, cycle stock, target stock, inventory turns, days ofsupply), forecast attainment, production throughput, capacity etc.

At operation 1000, the machine-learning application 218 validates themodels and creates model ensembles. The operation 1000 may utilize thesub-operations described in operations 508 and 510. The operation 1000is described in further detail in FIG. 10.

At operation 508, the machine-learning application 218 validates themodels against unseen information to assess their accuracy and level ofuncertainty (probabilistic) (e.g., Bayesian methods) using a variety ofmetrics and cross-validation techniques. The unseen data is availableand could have been used for training but is intentionally not usedduring training for the purposes of testing model generalizabilitysubsequent to training. Accordingly, it is essentially training datathat is not used during the initial model construction and used only formodel selection.

At operation 510, the machine-learning application 218 combines themodels by using an objective function (e.g., value at risk encapsulatinglost sales, inventory holding costs, expedite costs, etc.) thatmaximizes accuracy while minimizing uncertainty to derive weights of themodel combinations; this weighted combination of models is referred toas an ensemble.

At operation 512, ensembles of data models are deployed by themachine-learning (ML) application 218 to generate forward-lookingpredictions of various KPIs/outcomes and to calibrate. For example, themachine-learning (ML) application 218 may deploy the ensembles of datamodels (e.g., deployed models 222) to generate predicted supply chainoperational metrics as previously described.

At operation 514, the machine-learning (ML) application 218 generatesthese forward-looking positions of various outcomes (e.g., predictedsupply chain operational metrics) and infers their underlying causalfactors. In addition, machine-learning (ML) application 218 generatesaction recommendations based on the generated forward-looking positionsand underlying causal factors. Further, the machine-learning (ML)application 218 presents the forward-looking positions and theirunderlying causal factors, via the access applications 228, to thefunctional users (e.g., supply chain planners 230) via visual media(e.g., respective user interfaces). The presentation of theforward-looking positions of various outcomes and the underlying causalfactors are helpful inputs to create and explore a decision surface ofpossible actions that are available to the functional user (e.g., supplychain planners 230). In addition, a presentation of the forward-lookingpositions of various outcomes and the underlying causal factors in thecontext of the predicted supply chain operational metrics helps thefunctional user to make intelligent and insightful decisions inpredicting the supply chain performance, controlling inventory in thesupply chain, and controlling production resources in the supply chain.An optimization may be performed on the objective of interest/maximizethe reward (e.g., value at risk, which may be a combination of lostsales, inventory holding costs, and expedite costs) at a network node orat a global level. The possible action sequences that maximize thedesired objective function (based on a scored cost function/rewardfunction) are then presented, within respective user interfaces,visually to equip a user with a set of choices based on which they maymake decisions, and based on which the user, at operation 516, canauthorize a specific workflow that is to be executed by the systemdescribed by interfacing and exchanging data with the real-timeexecution system within the user domain.

Further, at operation 516, the machine-learning (ML) application 218 mayreceive an authorization of a specific workflow, via the accessapplications 228, in a manual mode, a semi-autonomous mode, and/or afully-autonomous mode. The utilization of the manual mode, and/or thesemi-autonomous mode, and/or the fully-autonomous mode may cause theexecution of one or more actions (e.g., sequence of actions). The one ormore actions may impact a delivery date of a product. For example, theone or more actions may include a sequence of actions impacting theproduct (e.g., delivery date of the product) including a sequence ofactions to expedite a shipment of the product (e.g., first action), asequence of actions to reallocate quantities of products being shippedin outbound shipments (e.g., second action), a sequence of actions toreschedule a production (e.g., production run) of a product (e.g.,lipstick, red) on a first production resource (e.g., third action), asequence of actions to reschedule a production of a product from thefirst production resource to a second production resource (e.g., fourthaction), and a sequence of actions to increase a quantity of theproduction of the product on the first production resource (e.g., fifthaction). The action sequence may be described by an action descriptiondescribing a set of actions including one or more actions impacting adelivery date of the product, such as those described above.

The option to operate in a manual mode may include receiving a selectionand/or other user input causing the execution of the one or moreactions. For example, the option to operate in a manual mode may includereceiving a selection and/or other user input causing one or moreactions impacting the delivery date of a product. The option to operatein a semi-autonomous mode may include receiving a selection and/or otheruser input that identifies an action recommendation (e.g., receiving afirst selection identifying a first action recommendation) (e.g., lowestvalue at risk) from a set of suggested action recommendation actionsprioritized by value at risk, causing the execution of one or moreactions (e.g., action sequence) whereby the action sequence is thenautomatically executed by real-time information fed back into executionsystems. The delivery date of a product may be initially received aspart of an operational plan (e.g., a planned delivery date) but thenchanged in the manual mode or the semi-autonomous mode responsive toreceiving user input from a supply chain planner 230. For example, thedelivery date of the product may be changed in manual mode orsemi-autonomous mode by a supply chain planner 230 including aninventory manager or a resource manager, as previously described

The option to operate in fully-autonomous mode may include the optimalaction sequence being executed automatically by the machine-learning(ML) application 218. For example, the machine-learning (ML) application218 may automatically identify the first action recommendation as anoptimal recommended action by identifying a predicted value impact asthe highest predicted value impact from a set of predicted value impactseach associated with an action recommendation for a product in thesupply chain 100. The delivery date of a product may be initiallyreceived as part of an operational plan (e.g., a planned delivery date)but then changed in the fully-autonomous mode.

The action sequence, whether executed in the manual mode, thesemi-autonomous mode or the fully-autonomous mode, may include themachine-learning (ML) application 218 communicating, over a network, anelectronic message to a planning system (enterprise resource planningsystem 204). The electronic message may cause an execution of at least aportion of the set of actions (e.g., first set of actions). For example,the action sequence may include one or more actions impacting a deliverydate of the product, such as those described above. The action sequencebeing executed, according to an embodiment, may cause the supply chainintelligence system 200 to directly interact and transact with real-timeexecution systems. For example, the supply chain intelligence system 200may directly interact and transact with an enterprise resource planning(ERP) system 204, a customer resource planning (CRM) system 206 and thelike. According to an embodiment, the supply chain intelligence system200 directly interacts and transacts within the user domain. Furtherdetails regarding operations 514 and 516 are described in FIG. 11D. Thesequence of actions (e.g., action sequence) described above withreference to FIG. 5 may be executed iteratively in continuous time stepsdependent on an identified execution frequency that depends on thesupply chain execution frequencies.

At operation 518, the machine-learning (ML) application 218 may ingest,learn, retrain and reinforce each of the steps discussed above at afixed frequency. For example, the machine-learning (ML) application 218may regenerate, using the observed supply chain operational metrics, thepredicted supply chain operational metrics across the plurality of nodesof the supply chain. According to one embodiment, the machine-learning(ML) application 218 tracks the actions that a user executes (e.g.,manual mode, semi-autonomous mode, and/or a fully-autonomous mode),measures the benefit of the action in real-time, and feeds the actionsand corresponding benefits back to the machine-learning (ML) applicationtrainer 224 (e.g., model trainer). The machine-learning (ML) application218 feeds the actions and the corresponding benefits back to themachine-learning (ML) application trainer 224 to further train themachine-learning (ML) application 218 (e.g., model). For example, themachine-learning (ML) application trainer 224 may further train themachine-learning (ML) application 218 (e.g., model) by again ingestingand auto-creating input data models (operation 600) with the actions andthe corresponding benefits. In addition, the machine-learning (ML)application trainer 224 may further train the machine-learning (ML)application 218 by again auto-characterizing product and networkbehavior (operation 800) with the actions and the correspondingbenefits. The supply chain intelligence system 200 feeds the actions andthe corresponding benefits back to the machine-learning (ML) applicationtrainer 224 via operation 600 and/or operation 800 to train themachine-learning (ML) application 218 to improve its prediction accuracyto make better recommendations.

FIG. 6 is a block diagram illustrating supply chain data 306, accordingto an embodiment. The supply chain data 306 may be ingested toauto-create the input data model, as may be performed at operation 502.The supply chain data 306 includes operational plans, observed supplychain operational metrics, and the like.

The operational plans (e.g., operational action plans, plannedoperational action, etc.) may include demand forecasts 610, sales orders612, shipments 614, inventory levels/metrics 616, stock transferrequests and orders 618, inventory planning metrics 620, master lists622, and the like. The sales orders 612 and the shipments 614 mayinclude a delivery date of a product.

The observed supply chain operational metrics may include informationthat is sensed in the real-time monitoring of a supply chain networkincluding transportation/routes 624, network locations map 626, networksourcing map 627, target/safety/cycle stock levels 628, purchaserequisitions and orders 630, and the like. The observed supply chainoperational metrics may further include supplier lead times 634 (e.g.,stated supplier lead times) (e.g., actual supplier lead times),real-time monitoring of production capacity 636, supplier capacity 638,production run rates 640, machine efficiency 642 (e.g.,uptime/downtime), operator efficiency 644, supplier on-time deliverymetrics and commitments 646, production planning metrics 648, productiondefects/yields 650, and the like.

The above mentioned various information items may then be consolidatedinto a data model that includes production/raw materials/process orders(planned and actual) 602, bill of materials 604, production lead times606 and network alerts data 608. The network alerts data 608 may includealerts relating to demand planning, production planning, and supplynetwork planning. It should be noted that operations at operation 502combine data across the entire supply chain 100, and include bothhistoric key performance indicators, as well as forward-lookingpredictions and targets for key performance metrics.

FIG. 7 is a flowchart illustrating various sub-operations that may beperformed at operation 700 in order to create new features based onenhanced KPIs. Creating new features may include transformation of onemore KPIs to make more meaningful predictions and/or to reduce thenumber of features. Sub-operations, in operation 700, may result inconcatenating together new features including features in the form ofmathematical transformations and/or encoding/embedding constructs.Concatenation may result in the formation of an N-dimensional tensor.

The flowchart commences at decision operation 708 by ingesting a featureand identifying whether the feature is a “numerical” feature, a“difference” feature, or a “categorical” feature. For example, themachine-learning (ML) application trainer 224 may ingest a feature inthe form of data as illustrated in FIG. 6 (e.g., operational plans,observed supply chain operational metrics, and other types of data). Ifthe feature (e.g., data) is “numerical,” then a branch is made tooperation 702, else if the feature is “difference” then a branch is madeto operation 716, else if the feature is “categorical” then a branch ismade to operation 710. At operation 702, base numerical features arereceived as input to the machine-learning (ML) application trainer 224.For example, the numeric features may include variables that utilize acontinuous or an infinite number of values (e.g., miles a car hasdriven). At operation 704, the numeric features are registered to beutilized as statistical features. At operation 706, mathematicaltransformations are performed on the statistical features. For example,the mathematical transformation may include a distributiontransformation (e.g., Box-Cox transformation). The mathematicaltransformations massage the data into a format that is better conduciveto rapid machine learning. At operation 716, base numerical features arereceived as input to the machine-learning (ML) application trainer 224.At operation 718, the machine-learning application trainer 224 generatesdifference features based on the numeric features. For example, a firstnumeric feature may register “inventory shipped” and a second numericfeature may register “inventory produced.” The machine-learningapplication trainer 224 may generate a difference feature (e.g.,“inventory remaining”) by subtracting the first numeric feature from thesecond numeric feature (e.g., “inventory produced”−“inventoryshipped”=“inventory remaining”). At operation 720, the numeric featuresare registered to be utilized as statistical features. At operation 722,the application trainer performs mathematical transformations on thestatistical features. At operation 710, categorical features ornon-numeric features are processed. For example, the non-numericfeatures may include variables that correspond to categories (e.g., red,blue, green) (e.g., enabled/disabled) (e.g., engine size). At operation712, non-numeric features are encoded or embedded to make the featuresuitable for application to machine learning libraries. For example, thevalue “red” may be encoded to the number “1,” the value “blue” may beencoded to the number “2,” and so forth. At operation 714, themachine-learning (ML) application trainer 224 concatenates mathematicaltransformations and/or encoding/embedding constructs. For example, oneor more features may be concatenated together to form tensors. If, forexample, a matrix is an array of numbers that forms a 2-dimensionaltensor (e.g., rows and columns) (e.g., the columns correspond tofeatures and rows correspond to values for each instance) then a tensorgenerally refers to the concept of a matrix to N>=“3” dimensions. Insome embodiments, concatenation may result in reducing the number ofdimensions. Reducing the number of dimensions (e.g., feature variables),if possible, is desirable to expedite processing. For example, considera data set illustrated as a three-dimensional cube with 1 million datapoints and each data point corresponding to one of three colors (e.g.,red, green, blue). If the same data set were examined from atwo-dimensional point of view (e.g., one side of the cube) then asmaller sample of the data set might be examined resulting in acomputational savings. The above operations may iterate until featuresare exhausted.

FIG. 8 is a flowchart illustrating various sub-operations that may beperformed at operation 800 of FIG. 5, in order to auto-characterizeproduct behavior and network node behavior, and also to generate dataclasses at operation 506. The operation 800 commences at decisionoperation 802 identifying whether an optimal information representationhas been generated. For example, a data analyst may utilize theconcatenation described in FIG. 7 to decide whether it has generated anoptimal information representation. If an optimal informationrepresentation is generated, then a branch is made to operation 804.Otherwise, a branch is made to operation 812. At operation 812, metricsare calculated based on the concatenation of the KPIs and at operation814, an iteration may be performed. At operation 816, an unsupervisedclassification is performed. For example, the machine-learningapplication trainer 224 and/or access applications 228 and/or dataanalyst may utilize the concatenation described in FIG. 7 and clusteringalgorithms to manifest a clustering of the information. At operation804, class segmentation labels are generated based on the clustering ofthe information. For examples, the class segmentation labels may be usedto identify products produced by the supply chain 100 or nodes in thesupply chain 100. At operation 806, representative generative models aregenerated for input. For example, the machine-learning (ML) applicationtrainer 224 and/or access modules may utilize the concatenationdescribed in FIG. 7 and clustering algorithms to generate representativegenerative models that are utilized by the machine-learning applicationfor input. At operation 808, class features that define behavior areidentified by using causal methods. For example, each class feature maycorrespond to a dimension that the machine-learning (ML) applicationtrainer 224 identifies as causative. At operation 810, themachine-learning (ML) application trainer 224 generates a list of causalfactors by class/network node.

The causal factors may be inferred for an inventory manager or aresource manager. The inventory manager is tasked with moving productsto nodes in the supply chain 100 to minimize value at risk associatedwith the product. For example, the causal factors inferred for aninventory manager may include causal factors for shipping productsincluding a method or means of outbound shipment of a product (e.g.,expedited-air/non-expedited-ground) and a quantity of outbound shipmentof a product. The resource manager is tasked with producing products onproduction resources in the supply chain 100 to minimize value at riskassociated with the product. For example, the causal factors inferredfor a resource manager may include causal factors for producing productsincluding a scheduled production of a product on a production resource(e.g., network node) and an available capacity on a production resource(e.g., network node) including an available capacity on a productionresource being utilized for a scheduled production of the product and anavailable capacity on a production resource not being utilized for thescheduled production of the product.

FIG. 9 is a flowchart illustrating various sub-operations that may beperformed at operation 900, in order to perform feature selection andmodel selection to predict outcome variables. The operation 900commences at operation 902 by accessing a data frame 914. For example,the data frame 914 may include multiple features and data that aredescriptive of products being produced in the supply chain 100 andshipped through the supply chain 100. At operation 904, featureselection begins. For example, the machine-learning application trainer224 and/or access applications 228 and/or data analyst may perform thefeature selection. At operation 906, machine-learning (ML) applicationtrainer 224 identifies outcome variables (e.g., predicted supply chainoperational metrics including “fill-rate,” “service levels,” and soforth). The machine-learning (ML) application trainer 224 choosesoutcome variables based on their predictive or explanatory power. Forexample, “fill rate” may be considered an outcome variable with highexplanatory power with respect to evaluating a value at risk (e.g.,monetary) in the supply chain 100 because “fill rate” is the fraction ofcustomer demand (e.g., sales orders) met through immediate stockavailability, without backorders or lost sales. At operation 908, themachine-learning (ML) application trainer 224 selects features for themodel (e.g., machine-learning (ML) application 218).

At operation 909, the machine-learning (ML) application trainer 224determines whether feature encoding or techniques that facilitatecreation of the model are applied. If feature encoding or techniquesthat facilitate creation of the model are applied, then themachine-learning (ML) application trainer 224 branches to operation 912.Otherwise, the machine-learning (ML) application trainer 224 branches tooperation 910. At operation 912, the machine-learning (ML) applicationtrainer 224 begins feature encoding and applies various techniques thatfacilitates creation of the model (e.g., machine-learning (ML)application 218). At operation 910, the machine-learning (ML)application trainer 224 begins model creation at different hierarchicallevels (e.g., product category, geo-location, customers). For example,the machine-learning (ML) application trainer 224 begins model creationat hierarchical levels for production and shipment of products withrespect to forward-looking time horizons (e.g., weeks/months/years).

FIG. 10 is a block diagram illustrating a method 1001 to perform modelvalidation and create model ensembles, according to an embodiment. Themethod 1001 utilizes sub-operations that may be performed at operation508 and automated model validation that may be performed at operation510 in FIG. 5, in order to create model ensembles, according to anembodiment. At operation 1002, the machine-learning (ML) applicationtrainer 224 begins model validation. At operation 1004, themachine-learning (ML) application trainer 224 may partition test data(e.g., supply chain training data 304) from a set of data. At operation1006, the machine-learning (ML) application trainer 224 evaluates one ormore models performance based on the test data. For example, themachine-learning (ML) application trainer 224 may utilize the supplychain training data 304 to evaluate the performance of a model. Atoperation 1008, the machine-learning (ML) application trainer 224identifies the N-best performing models based on the test/validationmetrics. At operation 1010, the machine-learning (ML) applicationtrainer 224 recalibrates the models. The recalibration of a modelincludes adjusting and forcing the parameters of the model within themargins of uncertainties to obtain a model representation of theprocesses of interest that satisfies pre-agreed criteria (e.g.,goodness-of-fit or cost function). At operation 510, themachine-learning (ML) application trainer 224 creates a model ensembleby utilizing the N-best performing models (e.g., machine-learning (ML)application 218). For example, the ensemble of models preform togetheras a whole rather than individually.

I Predicting a Supply Chain Performance Action Recommendations

FIG. 11A illustrates an action recommendations user interface 1100,according to an embodiment. The action recommendations user interface1100 (e.g., first electronic user interface) may be presented atoperation 514 in FIG. 5. The action recommendations user interface 1100includes one or more action recommendations 1127. Each actionrecommendation 1127 may include an action number 1105, an actiondescription 1106, a predicted value impact 1108, a value at risk 1110,and a product identifier 1112. The action number 1105 uniquelyidentifies the action recommendation 1127 on the action recommendationsuser interface 1100. For example, the action recommendations 1127 may beassigned action numbers 1105 in an ascending order (e.g., “1,” “2,” “3”and so forth). The action description 1106 may include a title and a setof actions, as described further below. The predicted value impact 1108is the predicted value of monetary savings realized by executing theaction recommendation 1127. The value at risk 1110 is a monetary valuethat is predicted to be at risk for the product identified by the actionrecommendation 1127. For example, the value at risk 1110 may beexpressed in a national currency (e.g., US Dollars, French Francs, andthe like). The product identifier 1112 identifies a product that will beimpacted by executing the action recommendation 1127. The predictedvalue impact 1108 and the value at risk 1110 may be continuously updatedin real-time.

The set of actions included in the action description 1106 may impact adelivery date of the product identified by the product identifier 1112.For example, the action recommendation 1127 with the action number 1105“1” includes the action description 1106 “EXPEDITE OUTBOUND SHIPMENT”and includes a set of actions (not shown) to expedite an outboundshipment of the product, as described later in this document. In asecond example, the action recommendation 1127 with the action number1105 “2” includes the action description 1106 “REALLOCATE QTY OFOUTBOUND SHIPMENT” and includes a set of actions (not shown) toreallocate the quantity of a products in an outbound shipment, asdescribed later in this document. In a third example, the actionrecommendation 1127 with the action number 1105 “3” includes the actiondescription 1106 “RESCHEDULE PRODUCTION OF PRODUCT” and includes a setof actions (not shown) to reschedule the production of a product on aproduction resource to a different date and/or time, as described laterin this document. In a fourth example (not shown), the actionrecommendation 1127 may include the action description 1106 “RESCHEDULEPRODUCTION OF PRODUCT ON DIFFERENT PRODUCTION RESOURCE” and includes aset of actions (not shown) that reschedules a production of a product bystopping a production run on a production resource (e.g., a firstproduction resource) and starting the production run on a differentproduction resource (e.g., second production resource), as describedlater in this document. In a fifth example, the action recommendation1127 may include the action description 1106 “INCREASE QUANTITY OFPRODUCT PRODUCED” and includes a set of actions (not shown) to change(e.g., increase) a quantity of a product that is scheduled forproduction in a production run on a production resource (e.g., firstproduction resource).

Each action recommendation 1127 is selectable in the semi-autonomousmode or automatically selected in the fully-autonomous mode. Each actionrecommendation 1127 may be selectable in the semi-autonomous mode by asupply chain planner 230 (and the like) to execute the set of actionsincluded in the action description 1106. In addition, each actionrecommendation 1127 may be automatically selected by themachine-learning application 218 in fully-autonomous mode to execute theset of actions included in the action description 1106. The set ofactions may include one or more actions, according to an embodiment. Theaction recommendations user interface 1100 may be scrolled up or down toexpose additional action recommendations 1127, according to anembodiment.

FIG. 11B is a block diagram illustrating an action recommendationtracking record 1130, according to an embodiment. The actionrecommendation tracking record 1130 may be communicated to a planningsystem 208 responsive to selection of an action recommendation 1127. Inaddition, the action recommendation tracking record 1130 may be storedin the production database 216. The action recommendation trackingrecord 1130 includes the action number 1105, the action description1106, the predicted value impact 1108, the value at risk 1110, theproduct identifier 1112 identifying the product, an execution mode 1132,a user identifier 1134, and a set of actions 1136. The action number1105, the action description 1106, the predicted value impact 1108, thevalue at risk 1110, were previously described. The execution mode 1132registers whether the action recommendation 1127 was executed in manualmode, semi-autonomous mode, or fully-autonomous mode. The useridentifier 1134 identifies the supply chain planner 230 who executed theaction recommendation 1127 (e.g., manual mode and semi-autonomous mode).The set of actions 1136 is the one or more actions included in theaction description 1106 of the action recommendation 1127, as previouslydescribed. The set of actions 1136 may be performed by themachine-learning application 218 and/or the planning system 208responsive to selection of the action recommendation 1127. For example,the set of actions 1136 may include a sequence of actions impacting theproduct (e.g., delivery date of the product) including a sequence ofactions to expedite a shipment of the product (e.g., first action), asequence of actions to reallocate quantities of products being shippedin outbound shipments (e.g., second action), a sequence of actions toreschedule a production (e.g., production run) of a product (e.g.,lipstick, red) on a first production resource (e.g., third action), asequence of actions to reschedule a production of a product from thefirst production resource to a second production resource (e.g., fourthaction), and a sequence of actions to increase a quantity of theproduction of the product on the first production resource (e.g., fifthaction).

FIG. 11C illustrates a method 1140, according to an embodiment, tomanage an automated supply chain, according to an embodiment. The method1140 commences at operation 1142 with the machine-learning application218, at the supply chain server machine 205, receiving supply chain data306. For example, the machine-learning application 218 may receive thesupply chain data 306 for delivery of a product. The supply chain data306 may include input signals comprising operational plans and observedsupply chain operational metrics, as previously described. In oneembodiment, the observed supply chain operational metrics may beobserved across the supply chain 100. The operation 1142 is described infurther detail in operation 514 in FIG. 5.

At operation 1144, the machine-learning application 218 automaticallygenerates predicted supply chain operational metrics. Themachine-learning application 218 automatically generates the operationalplans and the observed supply chain operational metrics to predict thesupply chain operational metrics. The machine-learning application 218may generate the predicted supply chain operational metrics across thenodes of the supply chain 100. The predicted supply chain operationalmetrics may include the value at risk 1110 that is predicted for theproduct. For example, the value at risk 1110 that is predicted for theproduct may be based on a shipment date of the product or a quantity ofthe product in a shipment or producing the product on a productionresource that is overutilized, and the like. The predicted supply chainoperational metrics may further include fill rate, service level,inventory metric, demand forecast, forecast attainment, inventoryholding costs, expedite costs and liquidation costs. The predictedsupply chain operational metrics may be generated for at least onehierarchical level including the distribution center 108, the hub 106,the plant 104, the logistic center, the customer 110 (e.g., customerlocation) and a geographic location (e.g., California, North America,Europe, San Jose, Santa Clara County, and the like). The operation 1144is described in further detail in the operations illustrated in FIG. 5,excluding operations 600, 516, and 518.

At operation 1146, the machine-learning application 218 automaticallyinfers causal factors that impact the predicted supply chain operationalmetrics. The machine-learning application 218 utilizes the observedsupply chain operational metrics to automatically infer the causalfactors. For example, the causal factors inferred may include causalfactors for action recommendations 1127. The causal factors for actionrecommendations 1127 may include causal factors for shipping productsand causal factors for producing products. The causal factors forshipping products may include a method or means of outbound shipment ofa product (e.g., expedited-air/non-expedited-ground) and a quantity ofoutbound shipment of a product, a scheduled production of a product on aproduction resource (e.g., network node). The causal factors forproducing products may include an available capacity on a productionresource (e.g., network node) including an available capacity on aproduction resource being utilized for a scheduled production of theproduct, and an available capacity on a production resource not beingutilized for the scheduled production of the product. The impactedpredicted supply chain operational metrics may include the value at risk1110 that is predicted for the product. The operation 1146 is describedin further detail in the operations illustrated in FIG. 5, excludingoperations 600, 516, and 518.

At operation 1148, the machine-learning application 218 generates actionrecommendations 1127, as illustrated in FIG. 11A, for the supply chain100. The machine-learning application 218 may utilize the causal factorsand the predicted supply chain operational metrics to generate theaction recommendations 1127. The operation 1148 is described in furtherdetail in operation 514, as illustrated in FIG. 5.

At operation 1150, the machine-learning application 218 presents andprocesses the action recommendations 1127. For example, themachine-learning application 218 may present the action recommendations1127, via the access applications 228, over a network, to the clientmachine 203 operated by a supply chain planner 230. In addition, themachine-learning application 218 may process action recommendations 1127responsive to receiving selections over the network, from the clientmachine 203, operated by the supply chain planner 230. These operationsare described in further detail in FIG. 11C.

FIG. 11D is a block diagram illustrating a method 1170, according to anembodiment, to present and process action recommendations. The method1170 further describes operations performed in operations 514 and 516 ofFIG. 5 and operation 1150 in FIG. 11C. Illustrated on the left is theclient machine 203; illustrated in the middle are one or more supplychain server machines 205; and illustrated on the right are the planningsystems 208 (e.g., enterprise resource planning system 204). The clientmachine 203 may be operated by a supply chain planner 230. The supplychain server machine 205 hosts the access applications 228, themachine-learning application 218, the machine-learning applicationtrainer 224, and other applications, as illustrated in FIG. 2. Theplanning system 208 may include the enterprise resource planning system204.

The method 1170 commences, at operation 1172, with the accessapplications 228 (e.g., access modules) presenting an electronic userinterface (e.g., first electronic user interface) over a network (e.g.,Internet) to the client machine 203. For example, the electronic userinterface may be embodied as the action recommendations user interface1100, as illustrated in FIG. 11A.

At operation 1174, the client machine 203 receives and displays theaction recommendations user interface 1100. At operation 1176, theclient machine 203 receives and communicates a selection (e.g., firstselection). For example, the client machine 203 receives the selection(e.g., first selection) via the action recommendations user interface1100. The selection may identify an action recommendation 1127. Further,at operation 1176, the client machine 203 communicates the selection tothe supply chain server machine 205. The action recommendation (e.g.,first action recommendation) may include one or more actions impacting adelivery date of a product (e.g., expedite shipping, etc.).

At operation 1178, the supply chain server machine 205 receives theselection and at operation 1180, the machine-learning application 218processes the selection. For example, the machine-learning application218 may processes one or more actions from the set of actions 1136. Atoperation 1182, the machine-learning application 218 communicates one ormore messages to the planning system 208. The messages may include theaction recommendation tracking record 1130, as illustrated in FIG. 11B.

At operation 1184, the planning system 208 receives and processes themessages. According to one embodiment, the receiving the message(s) maycause the planning system to expedite an inbound shipment (e.g., firstinbound shipment) of the product (e.g., first product). For example, theplanning system 208 may processes one or more actions from the set ofactions 1136.

At operation 1186, the machine-learning application 218 stores theaction recommendation tracking record 1130 in a tracking mechanism(e.g., table) in the production database 216. At operation 1188, themachine-learning application 218 regenerates the predicted supply chainoperational metrics. For example, the operation 1188 includesmachine-learning application 218 regenerating the predicted supply chainoperational metrics in accordance as described in operation 518 on FIG.5.

FIG. 11E is a block diagram illustrating a method 1190, according to anembodiment, to execute action recommendations 1127 in fully-autonomousmode. The method 1190 commences, at operation 1192, at the supply chainserver machine 205, with the machine-learning application 218identifying an optimal recommended action recommendation from a list ofaction recommendations 1127. At operation 1194, machine-learningapplication 218 executes the optimal recommended action recommendation.For example, the optimal recommended action recommendation provides the“user input” for the operations 1180, 1182, 1186 and 1188 as describedin FIG. 11D.

In one embodiment, the operation 1192 and the operation 1194 may beiterated until a predetermined number of action recommendations 1127 areexecuted. For example, a predetermined number of action recommendations1127 may be executed based on the value at risk 1110 in the actionrecommendation 1127 being compared with a predetermined limit. If thevalue at risk 1110 is greater than the predetermined limit, then theaction recommendation 1127 is identified as the optimal recommendedaction recommendation and executed.

Supply Network Planning User Interface—Map Tree

FIG. 12 is a supply network planning user interface 1200, according toan embodiment. The supply network planning user interface 1200 (e.g.,second electronic user interface) may be presented at operation 514 inFIG. 5. The supply network planning user interface 1200 may be utilizedby an inventory manager who manages inventory of products in the supplychain 100. Features of the supply network planning user interface 1200include a left panel 1206, a center top panel 1202, and a center bottompanel 1204. The left panel 1206 summarizes a value at risk (e.g.,currency amount (e.g., U.S. dollars)) according to brands (or some otherhierarchical level), as well as one or more alerts (alert clusters)associated with the brand. For example, each of the alert panels 1208,1210, and 1212 may summarize a value at risk for a brand (e.g., retailbrands like “Acme Cosmetics Inc.,” “XYZ Cosmetics Inc.,” and the like),value at risk for products of a brand, and alert clusters. According toone embodiment, the left panel 1206 may be presented before the centertop panel 1202 and center bottom panel 1204 are populated withinformation. For example, the selection of the alert panel 1208 for“Acme Cosmetics Inc.” by the inventory manager may cause the center toppanel 1202 and the center bottom panel 1204 to populate with informationbased on the “Acme Cosmetics Inc.,” brand and “Acme Cosmetics Inc.”products. The inventory manager may be selecting the alert panel 1208for “Acme Cosmetics Inc.” to cause map trees and rows of productinformation for “Acme Cosmetics Inc.” products and “Acme Cosmetics Inc.”product families to be presented on the supply network planning userinterface 1200. The center top panel 1202 includes category filters1222, alert filters 1224, and map trees 1214, 1216, 1218, and 1220. Thecategory filters 1222 may be utilized to filter the rows of productinformation 1226 being displayed in the center bottom panel 1204. Forexample, fashion retail brands may include category filters 1222 thatmay be utilized to filter rows of product information 1226 (e.g.,product (SKU)). In addition, the alert filter 1224 may also be utilizedto filter the rows of product information 1226. For example, theselected brand (e.g., “Acme Cosmetics Inc.”) may be associated with oneor more alert filters 1224 that may be selected to filter the rows ofproduct information 1226 in the center bottom panel 1204 according tothe selected alert. The supply network planning user interface 1200 maybe scrolled, up or down, to expose additional rows of productinformation 1226.

Product Information

The rows of product information 1226 may be grouped according to productfamilies that are respectively associated with a value at risk for theentire family. The map trees 1214, 1216, 1218, and 1220 correspond todifferent geographic regions. For example, the map trees include a maptree 1214 for the “Asia/Pacific” region, a map tree 1216 for the“Europe/Middle East/Africa” region, a map tree 1218 for the “NorthAmerica” region, and a map tree 1220 for the “United Kingdom” region.Each map tree includes boxes/rectangles that are selectable. Theboxes/rectangles respectively represent a value at risk for a product(SKU) or family of products. The product or family of products may berepresented according to a value at risk across geographic regions(e.g., map trees). For example, a value at risk for a product (e.g.,ruby red lipstick) by a first commercial provider (e.g. “Acme CosmeticsInc.”) may be represented with the user interface element 1238 in the“Asia/Pacific” map tree 1214, the user interface element 1240 in the“Europe/Middle East/Africa” map tree 1216, the user interface element1242 in the “North America” map tree 1218, and the user interfaceelement 1244 in the “United Kingdom” map tree 1220. Each of the userinterface elements 1238, 1240, 1242, are 1244 are proportional in sizeto the value at risk for the product for the first commercial provider(e.g., “Acme Cosmetics Inc.”) in the respective region. Selection of auser interface element 1238, 1240, 1242, or 1244 may cause interfaceelements corresponding to the same products to be outlined in bold ineach of the other regions. For example, selection of the user interfaceelement 1238 in a first map tree 1214 (e.g., Asia/Pacific) may cause theinterface elements 1240, 1242, 1244, corresponding to the same product(e.g., ruby red lipstick), to be outlined in bold. In addition, aselection of a user interface element corresponding to a product familyin a first map tree (e.g., map tree 1214) may cause the interfaceelements corresponding to the same product family to be outlined in boldin other map trees (e.g., map tree 1216, map tree 1218, map tree 1220).

The center bottom panel 1204 includes multiple rows of productinformation 1226. Each row of product information 1226 describes aproduct (SKU). Multiple rows of product information 1226 may be groupedtogether according to a product family and displayed in association witha value at risk for the entire family. Each row of product information1226 for a product or family of products includes columns of informationincluding user interface elements for a product identifier 1112, a valueat risk 1110, alerts regions 1232, alert categories 1234, alert timing1236, and details 1246. The product identifier 1112 includes a familyidentifier, identifying a product family, or a product identifier,identifying a product (e.g., SKU). The value at risk 1110 was previouslydescribed. The alerts regions 1232 include region identifiers, eachidentifying one or more alerts being asserted in the identified region.The alert categories 1234 include alerts respectively corresponding toalert categories. The alert timing 1236 includes product information1226 including multiple user interface elements each corresponding to aweek in a set of weeks. In addition, each user interface element (e.g.,week) is color coded indicating whether an alert is asserted for thecorresponding week. For example, a week may be color coded red (e.g.,alert asserted) or grey (e.g., no alert asserted). The details 1246 arerepresented by a user interface element that is selectable to accessesadditional user interfaces providing further details about the productand controls to control shipment of a product to facilitate supplynetwork planning of the product and resources for producing a product tofacilitate resource planning for the product. For example, an inboundshipments user interface 1300 (FIG. 13A) may be accessed via the details1246 user interface element.

Controlling Inventory in a Supply Chain A) Expedite Shipment

FIG. 13A illustrates an inbound shipments user interface 1300, accordingto an embodiment. The inbound shipments user interface 1300 (e.g., thirdelectronic user interface) may be presented at operation 514 on FIG. 5.The inbound shipments user interface 1300 may present one or moreinbound shipments of a product to a node (e.g., distribution center 108)(e.g., ABCD (1234)) in the supply chain 100. The inbound shipments userinterface 1300 may present the inbound shipment(s) in the context ofweekly metrics (e.g., predicted supply chain operational metrics). Inone embodiment, earlier inbound shipments and weekly metrics arepresented on the left of the inbound shipments user interface 1300(e.g., farthest left histogram bar is first week of May) and laterinbound shipments and weekly metrics are presented on the right of theinbound shipments user interface 1300 (e.g., farthest right histogrambar is last week of June). For example, the inbound shipments userinterface 1300 includes a window of nine weeks of inbound shipments andweekly metrics where each week is presented with a histogram bar.According to other embodiments, the number of histogram bars in thehistogram window may vary. In one embodiment, the window of inboundshipments and weekly metrics may be rolled. For example, the inboundshipments user interface 1300 includes a user interface element 1301that is selected to roll (e.g., slide) the window of inbound shipmentsand weekly metrics backward in time to expose earlier weeks of inboundshipments and weekly metrics. Further for example, the inbound shipmentsuser interface 1300 includes a user interface element 1303 that isselected to roll (e.g., slide) the window of inbound shipments andweekly metrics forward in time to expose later weeks of inboundshipments. Other embodiments may utilize other types of user interfacecontrols.

The inbound shipments user interface 1300 includes an inbound shipmentspanel 1302 and a weekly metrics panel 1304. The inbound shipments panel1302 may include user interface elements representing one or moreinbound shipments. For example, the inbound shipments panel 1302includes a user interface element 1314 representing an inbound shipmentas leaving a first node (e.g., “XYZ HUB (1234)”) (e.g., outbound node)in the supply chain 100 at the end of week “two” and a user interfaceelement 1312 representing the inbound shipment as arriving at a secondnode (e.g., “ABCD (1234)”) (e.g., inbound node) in the supply chain 100at the end of week six. The user interface element 1312 representing theinbound shipment may be associated with a means of transportation, aquantity of product, and other shipment properties that are used tocharacterize the shipment of the product. The means of shipment mayinclude different methods of shipment including trucking, sea cargo,train, etc. In addition, the means of transportation may includedifferent modes of transportation including “economical transportation,”“normal transportation,” “expedited transportation,” and the like.According to an embodiment, the user interface element 1312 for theinbound shipment may be selected to present an input box (e.g., inputcheck box) that may be selected (e.g., checked) to expedite shipment ofthe product from a “normal shipment” to an “expedited shipment” (e.g.,air) as illustrated in FIG. 13B.

Returning to FIG. 13A, the weekly metrics panel 1304 includes predictedsupply chain operational metrics in the form of predicted days of supplymetric included in a days of supply panel 1306 (e.g., supply), apredicted fill rate metric included in a fill rate panel 1308 (e.g.,demand), and a predicted booking to forecast ratio metric in the form ofa bookings to forecast ratio panel 1310. The predicted days of supplymetric, predicted fill rate metric, and predicted booking to forecastratio metric are presented as histogram data in the form of histogrambars organized according to weeks and corresponding to each other. Forexample, the histogram bars for week two (e.g., user interface element1312 representing the inbound shipment leaving first node in supplychain) includes a histogram bar for predicted days of supply, ahistogram bar for a predicted fill rate, and a histogram bar for apredicted bookings to forecast ratio panel 1310. Any change to theinbound shipment(s) for a particular week causes the histogram data inthe respective panels 1306, 1308 and 1310 to be recalculated andrepresented.

In greater detail, the days of supply panel 1306 is utilized to presentthe predicted supply chain operational metric for days of supply. Thedays of supply predicted metric is the inventory days of supply for aproduct at the node (e.g., distribution center 108) for a particularweek. Histogram bars above a center dividing line illustrate positivedays of inventory supply. For example, a histogram bar above the centerdividing line may include an inventory supply of three days indicatingthat the inventory of the product, at the distribution center 108, willbe exhausted after three days based on a current demand for the product.Histogram bars below the center dividing line illustrate negative daysof inventory supply. For example, a histogram bar below the centerdividing line with an inventory supply of negative three days indicatesthat inventory of the product, at the distribution center, is presentlyexhausted and with a current demand of three days.

The fill rate panel 1308 is utilized to present the predicted supplychain operation metric for fill rate. The fill rate predicted metricincludes histogram bars corresponding to the percentage of customerdemand (e.g., sales orders) met through immediate stock availability,without backorders or lost sales. For example, a histogram barindicating a “100%” fill rate corresponds to filling all customer demand(e.g., sales orders) through immediate stock availability, without anybackorders or lost sales. In contrast, a histogram bar indicating 0%fill rate indicates none of the customer demand has been filled for thedesignated week. Accordingly, the fill rate may be utilized tocharacterize the supply of a product to a node in the supply chain 100as expressed by a demand of the product from the user interface element1312 (e.g., distribution center) in the supply chain 100.

The bookings to forecast ratio panel 1310 is utilized to present thepredicted supply chain operation metric for bookings to forecast ratio(e.g., forecast attainment). The bookings to forecast ratio predictedmetric includes histogram bars corresponding to the percentagebookings/forecast (e.g., shipped/ordered quantity divided by forecastquantity). For example, a histogram bar indicating “100%” shippedquantity divided by forecast quantity corresponds to shipping everythingthat was forecasted for the designated week. In contrast, a histogrambar indicating “50%” shipped quantity divided by forecast quantitycorresponds to shipping half of the forecasted shipments for thedesignated week.

FIG. 13B illustrates stock transfer request user interface 1320,according to an embodiment. The stock transfer request user interface1320 may be presented at operation 514 in FIG. 5. The stock transferrequest user interface 1320 (e.g., fourth electronic user interface)includes a stock transfer request 1321. The stock transfer request userinterface 1320 includes an information panel 1325, an expedite request1323, and a commit expedite request 1327. The information panel 1325includes the product identifier 1112 that identifies the product (e.g.,SKU), an outbound node identifier 1324 (e.g., “XYZ HUB (1234)”), aninbound node identifier 1326 (e.g., “ABCD (1234)”), a shipping date1328, a receipt date 1330, a shipment identifier 1332, shipment quantityinformation 1334, and a status 1336. The product identifier 1112identifies the product being shipped. The outbound node identifier 1324identifies the node in the supply chain 100 from which the product isbeing shipped. The inbound node identifier 1326 identifies the node inthe supply chain 100 to which the product is being shipped. The shippingdate 1328 is the date the product is shipped from the outbound node. Thereceipt date 1330 is the date the product is scheduled to be received atthe inbound node. The shipment identifier 1332 identifies the shipmentin the supply chain 100. The shipment quantity information 1334quantifies the products being shipped. For example, the shipmentquantity information 1334 indicates that “7104” products are beingshipped. The status 1336 is a status of the stock transfer request. Forexample, the status may be “CONFIRMED” or “UNCONFIRMED.” According to anembodiment, the expedite request 1323 may be selected to expediteshipment of the product “Q7XT01000.” For example, selection of theexpedite request 1323 may cause utilization of a faster means ofshipment (e.g., trucking, express air, and so forth) to ship the product“Q7XT01000.” The commit expedite request 1327 may be selected to commita “provisional expedite,” as described later in this document, inreference to an alternate embodiment.

FIG. 13C illustrates the inbound shipments user interface 1300,according to an embodiment, after expediting shipment. The inboundshipments user interface 1300 may be presented at operation 514 in FIG.5. The inbound shipments user interface 1300 (e.g., third electronicuser interface) illustrates expediting an inbound shipment. For example,selection of the option to expedite shipment, as illustrated in FIG.13B, causes the arrival of the inbound shipment at ABCD (1234) to moveto the left (e.g., two weeks) and the weekly metrics in the weeklymetrics panel 1304 to be updated based on a new and earlier deliverydate of the products. The inbound shipment moves to the left, two weeks,notwithstanding the inbound shipments leaving the outbound node (e.g.,XYZ HUB) in the same week (e.g., end of week two) as before expediting.The inbound shipment has been expedited to cause the products to arrive“two” weeks earlier and impacting the predicted supply chain operationalmetrics, at least for the corresponding “two” weeks. For example, thepredicted supply chain operational metrics that are impacted include, atleast, the value at risk 1110 for the product (not shown) (e.g.,decreasing the value at risk 1110), the days of supply, fill rate, andbookings to forecast ratio (e.g., forecast attainment). Accordingly, theweekly metrics panel 1304 is updated based on a new and earlier deliverydate of the product. For example, the update to the weekly metric panel1304 includes updating the days of supply panel 1306 (e.g., supply), thefill rate panel 1308 (e.g., demand), and the bookings to forecast ratio(e.g., forecast attainment) panel 1310.

Alternate Embodiment

According to an alternate embodiment, the user does not select expedite1323 from the stock transfer request user interface 1320, as illustratedin FIG. 13B, but rather “provisional expedite request” (notillustrated). Selecting the “provisional expedite request” from thestock transfer request user interface 1320 does not immediately schedulean expediting of the shipment. Rather, the selection of the “provisionalexpedite request” is received by the access modules 228 and processed bythe machine learning application 218 to cause the value at risk andother predicted supply chain operational metrics to be updated withoutscheduling an expediting of the shipment. In this embodiment, selectingthe “provisional expedite request” enables the supply chain planners 230to evaluate the impact of the contemplated action (e.g., expeditingshipment). In this embodiment, the user must further commit toexpediting the shipment to schedule the expediting of the shipment. Forexample, subsequent to selecting the “provisional expedite request,” theuser must further select a commit expedite request 1327 from the stocktransfer request user interface 1320, as illustrated on FIG. 13B toschedule the expediting of the shipment. The “provisional expediterequest” and the commit expedite request 1327 are included in the stocktransfer request 1321.

B) Reallocate Outbound Shipment

FIG. 13D illustrates a reallocate outbound shipment user interface 1400,according to an embodiment. The reallocate outbound shipment userinterface 1400 (e.g., fourth electronic user interface) may be presentedat operation 514 in FIG. 5. The reallocate outbound shipment userinterface 1400 may present one or more outbound shipments of a productat a node (e.g., hub 106) (e.g., XYZ HUB) in the supply chain 100 for aparticular week (e.g., May 4, 2018). The reallocate outbound shipmentuser interface 1400 may be utilized to reallocate the quantity ofproducts for a shipment that is outbound from a node in the supply chain100. For example, the reallocate outbound shipment user interface 1400may be utilized to increase the quantity of a product for a firstoutbound shipment and decrease a quantity of the product for a secondoutbound shipment. It will be appreciated that the net difference ofproduct being shipped from an outbound node is zero. However, thereallocation of shipped products may result in reducing the value atrisk 1110 for the product because the product may contribute to asurplus at a first outbound node (e.g., inbound node) and satisfy adeficiency at a second inbound node (e.g., inbound node).

The reallocate outbound shipment user interface 1400 includes a toppanel 1402 and a bottom panel 1404. The top panel 1402 includes a weekidentifier 1403, the outbound node identifier 1324, and the productidentifier 1112 (e.g., SKU). The week identifier 1403 identifies a weekin a year. For example, the week identifier 1403 may include the Mondaydates for weeks in a year (e.g., May 4, 2019). The outbound nodeidentifier 1324 identifies the node in the supply chain 100 from whichthe product is being shipped, as previously described. The productidentifier 1112 identifies the product that is being shipped. Forexample, the product identifier 1112 may include the SKU, as previouslydescribed.

The bottom panel 1404 includes rows of outbound shipment information1406. Each row of outbound shipment information 1406 describes ashipment of the product identified with the product identifier 1112 fromthe node in the supply chain 100 identified with the outbound nodeidentifier 1324 for the week identified with the week identifier 1403.

Each row of outbound shipment information 1406 includes the inbound nodeidentifier 1326, days of supply information 1412, inventory quantityinformation 1414, value at risk 1110 for the product, shipment quantityinformation 1334, percentage of outbound shipments information 1420, newshipment quantity information 1422, and new percentage of shipmentquantity information 1424. The inbound node identifier 1326 identifiesthe node in the supply chain that receives the shipment of the product.The days of supply information 1412 includes the number of days ofinventory at the inbound node (e.g., for the row). For example, the daysof supply information 1412 may include the days of supply (e.g., days ofsupply metric), as previously described. The inventory quantityinformation 1414 describes the inventory at the inbound node (e.g., forthe row). For example, the inventory quantity information 1414 mayinclude the number of products. The value at risk 1110 describes thevalue at risk for the product. For example, the value at risk 1110 atthe inbound node 1326 may include the value at risk 1110 (e.g.,predicted value at risk 1110) (e.g., value at risk 1110 metric), aspreviously described. The shipment quantity information 1334 describesthe number of products scheduled for shipment for the identified week tothe inbound node. For example, the shipment quantity information 1334may include a count of the number of products. The percentage ofoutbound shipments information 1420 expresses the number of productsbeing shipped to the designated inbound node compared with the number ofproducts being shipped to all of inbound nodes for the week. Forexample, the percentage of products being shipped may be computed bydividing the count of the shipped products for the designated outboundnode (e.g., 3000) with a sum of the counts of shipped products for allthe inbound nodes for the week (e.g., 3000+1000+330). The new shipmentquantity information 1422 corresponds to the shipment quantityinformation 1334; however, the new shipment quantity information 1422 isthe changed number of products (e.g., new quantity) scheduled forshipment for the identified week to the inbound node. The new percentageof shipment quantity information 1424 corresponds to the percentage ofoutbound shipments information 1420; however, the new percentage ofshipment quantity information 1424 is the changed percentage of products(e.g., new percentage) scheduled for shipment for the identified week tothe inbound node.

An inventory manager may change the number of products being shipped toan inbound node by entering a number of products in the new shipmentquantity information 1422. For example, the inventory manager may reducethe number of products being shipped to the CRUX inbound node byentering the number “2000” under the new shipment quantity information1422. Entering the number “2000” under the new shipment quantityinformation 1422 reduces the number of products being shipped to theCRUX inbound node by “1000” products. In addition, the inventory managermay increase the number of products being shipped to the ABCD inboundnode by entering the number “2000” under the new shipment quantityinformation 1422. Entering the number “2000” under the new shipmentquantity information 1422 increases the number of products being shippedto the ABCD inbound node by “1000” products. These changes areillustrated in FIG. 13E.

FIG. 13E illustrates an outbound shipments change user interface 1430,according to an embodiment. The outbound shipments change user interface1430 may be presented at operation 514 in FIG. 5. The outbound shipmentschange user interface 1430 (e.g., fifth electronic user interface)includes an outbound shipments change 1431 (not shown), as describedlater in this document. The outbound shipments change user interface1430 includes an information panel 1432, a remove request 1434, and acommit new quantities request 1435. The information panel 1432 includesthe product identifier 1112 (e.g., SKU), the shipping date 1328, theoutbound node identifier 1324 (e.g., “XYZ HUB (1234)”), the inbound nodeidentifier 1326 (e.g., “CRUX (123)”) (e.g., “ABCD (1234)”), the shipmentquantity information 1334, and the new shipment quantity information1422. The remove request 1434 may be selected to cancel the outboundshipment change. The commit new quantities request 1435 may be selectedto commit the outbound shipment change, as described later in thisdocument, in reference to an alternate embodiment.

The outbound shipments change user interface 1430 illustrates anoutbound shipments change. The outbound shipments change user interface1430 illustrates a reduction of “1000” products being shipped to the“CRUX” inbound node (e.g., under the new shipment quantity information1422) and an increase of “1000” products being shipped to the ABCDinbound node (e.g., under the new shipment quantity information 1422).For example, the products being shipped to the “CRUX” inbound node wasreduced from “3000,” in FIG. 13D, to “2000,” in FIG. 13E and theproducts being shipped to the “ABCD” inbound node was increased from“1000,” in FIG. 13D, to “2000” in FIG. 13E. Note that the reallocationof “1000” shipped products is associated with a reduction in the valueat risk 1110 (e.g., predicted value at risk) for the product at ABCDfrom “$11,800,” in FIG. 13D, to “$0.00” in FIG. 13F. In addition, notethat the reallocation of “1000” shipped products from the CRUX inboundnode to the ABCD node does not increase the value at risk 1110 (e.g.,predicted value at risk) for the product at the CRUX inbound node whichremains at “$0.00” before and after the change.

FIG. 13F illustrates the reallocate outbound shipment user interface1400, according to an embodiment. The reallocate outbound shipment userinterface 1400 (e.g., fourth electronic user interface) may be presentedat operations 514 in FIG. 5. The reallocate outbound shipment userinterface 1400, in FIG. 13F, illustrates a reduction of “1000” productsbeing shipped to the “CRUX” inbound node (e.g., under the new shipmentquantity information 1422) and an increase of “1000” products beingshipped to the ABCD inbound node (e.g., under the new shipment quantityinformation 1422), as previously described.

Alternate Embodiment

According to an alternate embodiment, the user does not enter newquantity 1422 values on the reallocate weekly outbound shipments userinterface 1400, as illustrated in FIG. 13D, but rather “provisional newquantities” (not illustrated). Entering “provisional new quantities” onthe reallocate weekly outbound shipments user interface 1400 does notimmediately schedule a reallocation of a weekly outbound shipments.Rather, the “provisional new quantities” are received by the accessmodules 228 and processed by the machine learning application 218 tocause the value at risk and other predicted supply chain operationalmetrics to be updated without scheduling a reallocation of the weeklyoutbound shipments. In this embodiment, entering the “provisional newquantities” enables the supply chain planners 230 to evaluate the impactof the contemplated action (e.g., reallocating weekly outboundshipments). In this embodiment, the user must further commit toscheduling a reallocation of the weekly outbound shipments. For example,subsequent to entering “provisional new quantities” on the reallocateweekly outbound shipments user interface 1400, the user must furtherselect a commit new quantities request 1435 on the outbound shipmentschange user interface 1430, as illustrated on FIG. 13E, to schedule thereallocation of the weekly outbound shipments. The “provisional newquantities” and the commit new quantities request 1435 are included inthe stock transfer request 1321.

FIG. 13G illustrates a shipment tracking record 1436, according to anembodiment. The shipment tracking record 1436 may be communicated to aplanning system 208 responsive to the machine-learning application 218receiving input that causes a change to a shipment of a product. Theshipment tracking record 1436 includes the stock transfer request 1321,as previously described, or the outbound shipments change 1431, aspreviously described, and the shipment set of actions 1437. The shipmentset of actions 1437 includes a sequence of actions that may be performedby the machine-learning application 218 and/or the planning system 208responsive to the machine-learning application 218 receiving input thatcauses a change to a shipment of a product. The shipment set of actions1437 may include a sequence of actions impacting the product (e.g.,delivery date of the product) including a sequence of actions toexpedite a shipment of the product (e.g., first action) or a sequence ofactions to reallocate quantities of products being shipped in outboundshipments (e.g., second action).

The shipment set of actions 1437 may include the sequence of actions toexpedite a shipment of the product (e.g., first action) responsive tothe machine-learning application 218 receiving input that causes achange to an inbound shipment of the product to be expedited, asillustrated in FIG. 13A, FIG. 13B, and FIG. 13C. For example, thesequence of actions may include actions for updating the inboundshipment of the product to utilize a different mode of transportation(e.g., shipping the product by air, train, or the like).

The shipment set of actions 1437 may include a sequence of actions toreallocate quantities of products being shipped in outbound shipments(e.g., second action) responsive to the machine-learning application 218receiving input causing a change to a first outbound shipment of theproduct and receiving input causing a change to a second outboundshipment of the product, as illustrated in FIG. 13D, FIG. 13E, and FIG.13F.

FIG. 13H illustrates a method 1440, according to an embodiment, tocontrol inventory in a supply chain, according to an embodiment. Themethod 1440 commences at operation 1442 with the machine-learningapplication 218, at the supply chain server machine 205, receivingsupply chain data 306. For example, the machine-learning application 218may receive the supply chain data 306 for delivery of a product. Thesupply chain data 306 may include input signals comprising operationalplans and observed supply chain operational metrics, as previouslydescribed. The observed supply chain operational metrics is observedacross the supply chain 100. The operation 1142 is described in furtherdetail in operation 600 in FIG. 5.

At operation 1444, the machine-learning application 218 automaticallygenerates predicted supply chain operational metrics. At the operation1444, the machine-learning application 218 uses the operational plansand the observed supply chain operational metrics to generate predictedsupply chain operational metrics across the nodes of the supply chain100. The predicted supply chain operational metrics may include a valueat risk 1110 that is predicted for a product. For example, the value atrisk 1110 that is predicted for a product may be based on a shipmentdate of the product or a quantity of the product in a shipment. Forexample, the value at risk 1110 that is predicted for a product mayinclude the value at risk 1110 that is predicted for the productidentified by a product identifier 1112 (e.g., first product). The valueat risk 1110 and the product (e.g., first product) are displayed in thesupply network planning user interface 1200, as illustrated on FIG. 12.Broadly, the predicted supply chain operational metrics include fillrate, service level, inventory metric, demand forecast, forecastattainment, the value at risk 1110, inventory holding costs, expeditecosts and liquidation costs, and so forth. The predicted supply chainoperational metrics are generated for at least one hierarchical levelincluding the distribution center 108, the hub 106, the plant 104, thelogistic center, the customer 110 (e.g., customer location) and ageographic location (e.g., California, North America, Europe, San Jose,Santa Clara County. and the like. The operation 1144 is described infurther detail in the operations illustrated in FIG. 5, excludingoperations 600, 516, and 518.

At operation 1446, the machine-learning application 218 automaticallyinfers causal factors that impact the predicted supply chain operationalmetrics. The machine-learning application 218 utilizes the observedsupply chain operational metrics to automatically infer the causalfactors. The causal factors include but are not limited to the shipment(e.g., first shipment) of a product (the first product). The operation1446 is described in further detail in the operations illustrated inFIG. 5, excluding operations 600, 516, and 518.

At operation 1448, the machine-learning application 218 communicates,via the access applications 228 and over a network, a user interface forpresenting shipments of the product (e.g., first product). The userinterface may be communicated to the client machine 203. The clientmachine 203 may be operated by supply chain planners 230. The userinterface for presenting shipments of the product may be embodied as theinbound shipments user interface 1300 (e.g., third electronic userinterface), as illustrated on FIG. 13C.

At operation 1450, the machine-learning application 218 receives input(e.g., first input) causing a change to a shipment (e.g., firstshipment) of a product (e.g., first product). The change to the shipmentmay impact the predicted supply chain operational metrics. For example,the change to the shipment may impact a value at risk 1110 for a product(e.g., first product).

An operation 1452 includes the operations 1448 and the operation 1450.The operation 1452 is described in further detail in FIG. 13I.

FIG. 13I is a block diagram illustrating a method 1460, according to anembodiment, to present and process shipments. The method 1460 furtherdescribes operations performed in operations 514 and 516 of FIG. 5 andthe operation 1452 in FIG. 13H. Illustrated on the left is the clientmachine 203; illustrated in the middle are one or more supply chainserver machines 205; and illustrated on the right is the planning system208 (e.g., enterprise resource planning system 204). The client machine203 may be operated by a supply chain planner 230. The supply chainserver machine 205 hosts the access applications 228, themachine-learning application 218, the machine-learning applicationtrainer 224, and other applications, as illustrated in FIG. 2. Theplanning system 208 may include the enterprise resource planning system204.

The method 1460 commences, at operation 1462, with the supply chainserver machine 205 communicating an electronic user interface over anetwork (e.g., Internet) to the client machine 203. For example, themachine-learning application 218 may communicate the inbound shipmentsuser interface 1300 (e.g., third electronic user interface) to theclient machine 203.

At operation 1464, the client machine 203 receives and displays theelectronic user interface (e.g., inbound shipments user interface 1300).At operation 1466, the client machine 203 receives and communicatesinput via the electronic user interface. For example, the client machine203 may receive input (e.g., first input) via the inbound shipments userinterface 1300 (e.g., third electronic user interface) and communicatethe input to the machine-learning application 218.

At operation 1468, at the supply chain server machine 205, the machinelearning application 218 receives the input, via the access applications228, and, at operation 1470, the machine learning application 218processes the input. For example, the machine learning application 218may processes the input (e.g., first input) by causing a change to aninbound shipment (e.g., first inbound shipment) of the product asdescribed in association with FIG. 13A, FIG. 13B, and FIG. 13C. Themachine learning application 218 processes the input to cause a sequenceof actions that expedites the inbound shipment of the product (e.g.,first action), as previously described. For example, the machinelearning application 218 may processes one or more actions from theshipment actions 1437 in FIG. 13G.

At operation 1472, the machine learning application 218 communicates oneor more messages to the planning system 208. The messages may includethe shipment tracking record 1436, as illustrated in FIG. 13G. Forexample, the machine learning application 218 may initialize theshipment tracking record 1436, as illustrated in FIG. 13G, with thestock transfer request 1321, as illustrated in FIG. 13B. In addition,the machine learning application 218 may initialize the productiontracking record 1620 with shipment actions 1437 including a sequence ofactions to expedite a shipment of the product (e.g., first action).

At operation 1474, the planning system 208 receives and processes themessages. According to one embodiment, the receiving the message(s) maycause the planning system to expedite an inbound shipment (e.g., firstinbound shipment) of the product (e.g., first product). For example, theplanning system 208 may processes one or more actions from the shipmentactions 1437 in FIG. 13G.

At operation 1476, the machine learning application 218 stores theshipment tracking record 1436 in a tracking mechanism (e.g., table) inthe production database 216. At operation 1478, the machine-learningapplication 218 regenerates the predicted supply chain operationalmetrics as described in operation 518 on FIG. 5. Accordingly, the method1460 is utilized to expedite a shipment of a product, as describedabove.

Reallocate Outbound Shipment

In a second embodiment the method 1460 is utilized to receive input(e.g., first input) via the reallocate outbound shipment user interface1400 that causes a reallocation of quantities of products being shippedin outbound shipments. The input may be received in the form of one ormore messages from the client machine 203. The input may include twoshipment quantities. For example, the shipment quantity of the productfor a first outbound shipment from a node in the supply chain 100 may beincreased and the shipment quantity of the product for a second outboundshipment from the node in the supply chain 100 may be decreased, asillustrated in FIG. 13D, FIG. 13E, and FIG. 13F. Accordingly, a surplusquantity of a product at a first node is redistributed to satisfy adeficient quantity of the product at the second node. Further, in thesecond embodiment, the machine-learning application 218 may process theinput to cause a sequence of actions to reallocate quantities ofproducts being shipped in outbound shipments (e.g., second action). Forexample, the machine-learning application 218 may processes one or moreactions from the shipment actions 1437.

Further, the machine-learning application 218 may initialize andcommunicate the shipment tracking record 1436 to the planning system208. For example, the shipment tracking record 1436, as illustrated inFIG. 13G, may be initialized with the outbound shipments change 1431 andthe shipment actions 1437 may be initialized with a sequence of actionsto reallocate quantities of products being shipped in outbound shipments(e.g., second action). Further, the machine-learning application 218 maycommunicate the shipment tracking record 1436 to the planning system 208causing a decrease in a shipment quantity of the first product for thesecond outbound shipment and an increase in a shipment quantity of thefirst product for the first outbound shipment at the planning system208. For example, the planning system 208 may processes one or moreactions from the shipment actions 1437.

III Controlling Resources in a Supply Chain A) Reschedule Production Runon Production Resource

FIG. 14A illustrates a production run user interface 1500, according toan embodiment. The production run user interface 1500 (e.g., sixthelectronic user interface) may be presented at operation 514 in FIG. 5.The production run user interface 1500 may be utilized to reschedule aproduction run of a product on a production resource. The production runuser interface 1500 includes a title panel 1502, a production run panel1504, a context panel 1506, the user interface element 1301 and the userinterface element 1303. The user interface element 1301 may be selectedto roll (e.g., slide) the production run panel 1504 and the contextpanel 1506 backward in time. The production run panel 1504 and thecontext panel 1506 are rolled backward in time to expose production runsand contextual metrics corresponding to the production runs for earlierweeks. In addition, the user interface element 1303 may be selected toroll (e.g., slide) the production run panel 1504 and the context panel1506 forward in time. The production run panel 1504 and the contextpanel 1506 are rolled forward in time to expose production runs andcorresponding contextual metrics for later weeks.

The title panel 1502 includes the product identifier 1112 and aproduction resource identifier 1508. The product identifier 1112identifies the product being produced. The production resourceidentifier 1508 identifies the production resource that is beingutilized to produce the product. The production resource produces theproduct with a production run. Recall that a production resource mayinclude one or more machines, one or more tools, one or more employees,or any combination thereof.

The production run panel 1504 illustrates production runs 1509 on theproduction resource “X999AB.” The production runs 1509 include aproduction run 1516, a production run 1518, a production run 1520, and aproduction run 1522. Each of the production runs 1509 produces theproduct “Q7XT01000” or a sub-product. For example, the production run1516 produces a sub-product 1510 (e.g., “RR22”), the production run 1518and the production run 1520 produce the sub-product 1512 (e.g., “RR23”),and the production run 1522 produces a sub-product 1514 (e.g., “2R24”).The sub-products 1510, 1512, and 1514 may be distinguishable. Forexample, the sub-products 1510, 1512, 1514 may be different colors. Eachof the production runs 1509 are ranked according to a value at risk1110. For example, the production runs 1518 and 1520 are ranked with a“LOW” value at risk 1110; the production run 1516 is ranked with a“MEDIUM” value at risk 1110; and the production run 1522 is ranked witha “HIGH” value at risk 1110.

The context panel 1506 includes predicted supply chain operationalmetrics that provide a context for scheduling/rescheduling a productionrun. The predicted supply chain operational metrics include a capacitypanel 1524 for displaying a capacity metric (e.g., capacity), aninventory days of supply panel 1526 for displaying a days of supplymetric (e.g., days of supply), a fill rate panel 1528 for displaying afill rate metric (e.g., fill rate), and a bookings to forecast ratiopanel (e.g., forecast attainment) (not shown) for displaying a bookingsto forecast ratio metric (e.g., forecast attainment).

The capacity metric includes histogram bars indicating utilization of acapacity of the production resource “X999AB” over time (e.g., “THISWEEK”—“5/18.”). For example, the capacity metric includes a histogrambar 1530 in the week “5/11” and a histogram bar 1532 the week of “5/18”indicating utilization of a capacity of the production resource“X999AB.” The histogram bar 1530 is higher than the histogram bar 1532indicating the production resource “X999AB” is better utilized in theweek of “5/11.” In addition, the capacity metric includes a histogrambar 1533 in the week “5/4,” designated “O,” indicating an over (e.g.,inefficient) utilization of the production resource “X999AB.” Forexample, the product resource “X999AB” may be inefficiently utilizedbecause of paying operator overtime or for operating machines duringpeak power costs, and the like.

The inventory days of supply panel 1526 includes histogram bars eachdesignated with a number of days of supply of the product “Q7XT01000” ata node in the supply chain 100 including the production resource“X999AB.” For example, a histogram bar 1534 includes a days of supplydesignated “1D,” indicating the present demand for the product at thenode including the production resource “X999AB” will be exhausted afterone day based on a current demand for the product. The days of supplymay include negative days of supply, as previously described.

The fill rate panel 1528 includes histogram bars each designated withdemand percentages of customer demand (e.g., sales orders) met throughimmediate stock availability, without backorders or lost sales at thenode in the supply chain 100 including the production resource “X999AB.”For example, a demand percentage 1536 with a percentage “32%” indicatesfilling 32% of customer demand (e.g., sales orders) through immediatestock availability, without any backorders or lost sales.

The production run user interface 1500 may be scrolled down to expose abookings to forecast ratio panel including a bookings to forecast metricover time, as previously described. For example, the production run userinterface 1500 may be scrolled down to expose the predicted supply chainoperational metrics described above (e.g., capacity, days of supply,fill rate, and bookings to forecast ratio) each according to ageographic region. For example, the production run user interface 1500may be scrolled down to expose the capacity panel 1524, the inventorydays of supply panel 1526, the fill rate panel 1528 and a bookings toforecast ratio panel each for the geographic regions including NorthAmerica, South America, Europe, Asia, Australia, Africa, and the like.

The context panel 1506 and the value at risk rankings (e.g., “LOW,“MEDIUM,” “HIGH”) in the production run panel 1504 provide a context forrescheduling a production run on the production resource “X999AB.” Forexample, a resource planner may identify the production run 1522 asdesirable to reschedule because its value at risk 1110 is ranked “HIGH.”In addition, the resource planner may identify a more opportune time toschedule the production run 1522 based on the value at risk rankings forthe other production runs and the context provided by the context panel1506. For example, the resource planner may select the production run1522 and drag it to the beginning of “THIS WEEK—April 28” to avoid theutilization of the production resource “X999AB” by the other productionruns 1518, 1516, and 1520 and to utilize the production resource“X999AB” during a period of time where the utilization of the capacityis low, the inventory days of supply are low, and the fill rate is low.The drag and drop gesture causing the production run 1522 to be droppedto the beginning of “THIS WEEK—April 28” causes the machine-learningapplication 218 to receive input (e.g., first input) causing a change tothe utilization of the production resource “X999AB” that impacts thepredicted supply chain operational metrics including impacting the valueat risk 1110 in the scheduling of the production run 1522 (e.g., firstproduction run).

FIG. 14B illustrates a production schedule change user interface 1550,according to an embodiment. The production schedule change userinterface 1550 (e.g., seventh electronic user interface) may bepresented at operation 514 in FIG. 5. The production schedule changeuser interface 1550 includes a production schedule change 1551 (notshown). The production schedule change user interface 1550 includes aninformation panel 1552, a remove request 1554, and a commit sameresource request 1555. The information panel 1552 includes a productionorder identifier 1556, a product identifier 1112 (e.g., SKU), aproduction resource identifier 1508, a production date 1558, and aproduction quantity 1560.

The production order identifier 1556 identifies a production order. Theproduction order memorializes a change to the production schedule. Theproduct identifier 1112 (e.g., SKU) identifies the product that is beingproduced. The production resource identifier 1508 identifies aproduction resource that is producing the product. The production date1558 identifies a change of date for the production run on theproduction resource “X999AB.” For example, the production date 1558identifies an old production date of “2019-05-08” and a new productiondate of “2019-05-01.” The production quantity 1560 is the quantity ofthe product being produced. For example, the production quantity is“3800.” The remove request 1554 may be selected to cancel the productionschedule change. The commit same resource request 1555 may be selectedto commit a provisional request, as described later in this document, inreference to an alternate embodiment.

FIG. 14C illustrates the production run user interface 1500, accordingan embodiment. The production run user interface 1500 (e.g., sixthelectronic user interface) may be presented at operations 514 in FIG. 5.The production run user interface 1500 displays the production schedulechange illustrated in FIG. 14B. For example, the production run userinterface 1500 illustrates the production run 1522 as being dragged fromMay 8, 2019 to May 1, 2019. In addition, the production run 1522 isassociated with updated predicted supply chain operational metrics. Forexample, the updated predicted supply chain operational metrics includean updated value at risk ranking for production run 1522 from “HIGH” to“LOW,” an updated capacity metric showing an increase in the utilizationof the production resource identified by the production resourceidentifier 1508 “X999AB” (see three histogram bars), an updatedinventory days of supply metric increasing from one day (e.g., “1D”) totwo days (e.g., “2D”) (see three histogram bars), and an updated fillrate increasing from “5% to 10%, “32% to 37%” and 22% to 27% (see threehistogram bars) respectively.

Alternate Embodiment

According to an alternate embodiment, the user does not perform a dragand drop gesture from the production run user interface 1500, asillustrated in FIG. 14A, but rather a “provisional drop and draggesture” (not illustrated). Performing the “provisional drop and draggesture” from the production run user interface 1500 does notimmediately cause a change to the utilization of a production resource(e.g., different date and/or time). Rather, performance of the“provisional drop and drag gesture” is received by the access modules228 and processed by the machine learning application 218 to cause thevalue at risk and other predicted supply chain operational metrics to beupdated without causing the change to the utilization of the productionresource. In this embodiment, performing the “provisional drop and draggesture” enables the supply chain planners 230 to evaluate the impact ofthe contemplated action (e.g., change to utilization of productionresource). In this embodiment, the user must further commit to causingthe change the utilization of a production resource (e.g., differentdate and/or time). For example, subsequent to performing the“provisional drop and drag gesture” the user must further select commitsame resource request 1555 from the production schedule change userinterface 1550, as illustrated on FIG. 14B, to cause the change to theutilization of the production resource (e.g., different date and/ortime). The production schedule change 1551 includes the “provisionaldrop and drag gesture” and the “commit same resource request 1555.”

B) Reschedule Production Run on a Different Production Resource

FIG. 14D illustrates a production order user interface 1600, accordingto an embodiment. The production order user interface 1600 (e.g., eighthuser interface) may be presented at operation 514 in FIG. 5. Theproduction order user interface 1600 displays a production order for aproduction run. According to one embodiment, a drag and drop gesture(e.g., first input) may be received via the production order userinterface 1600 causing a change to a utilization of the productionresource (e.g., first production resource) that is being utilized forthe production run. For example, a production run 1522 (e.g., first userinterface element) may be selected from a production run panel 1504 inthe primary production panel 1602 of the production order user interface1600 (e.g., first user interface), dragged, and dropped to a productionrun panel 1504 in an alternate production panel 1604. Accordingly, theproduction run 1522 (e.g., first production run) is removed from oneproduction resource (e.g., first production resource) and added toanother production resource (e.g., second production resource). Forexample, the drag and drop gesture causes a change to a utilization of aproduction resource “X999AB” (e.g., first production resource) and achange to a utilization of a production resource “X998AB” (e.g., secondproduction resource). Accordingly, the production resource “X999AB” isno longer utilized to produce the product and the production resource“X998AB” is utilized to produce the product responsive to receiving thedrag and drop gesture. The changes to the utilization of the productionresource “X999AB” (e.g., first production resource) and the productionresource “X998AB” (e.g., second production resource) impacts thepredicted supply chain operational metrics.

Broadly, the production order user interface 1600 is displayedresponsive to receiving a selection that identifies a production run.For example, the production order user interface 1600 is displayedresponsive to receiving a selection identifying the production run 1522from the production run panel 1504, as displayed in the production runuser interface 1500 illustrated on FIG. 14A. Returning to FIG. 14D, theproduction order user interface 1600 includes the production orderidentifier 1556, the primary production panel 1602, the alternateproduction panel 1604, and production order panel 1606. The productionorder identifier 1556 identifies the production order (e.g.,“9876543210”).

The primary production panel 1602 describes a production resource (e.g.,primary) that is scheduled to be utilized for the production runselected. For example, the production order corresponds to theproduction run 1522, as selected from the production run panel 1504 inthe production run user interface 1500, as illustrated in FIG. 14A.Returning to FIG. 14D, the primary production panel 1602 includes theproduction resource identifier 1508 (e.g., “X999AB”), a portion of theproduction run panel 1504 corresponding to the production run selected(e.g., production run 1522), and a portion of the capacity panel 1524corresponding to the production run selected (e.g., production run1522), both as previously described.

The alternate production panel 1604 displays a production resource thatmay be utilized (e.g., alternate) for the production run selected. Thealternate production panel 1604 includes a production resourceidentifier 1508 (e.g., “X998AB”), a selector 1610, the production runpanel 1504, and the capacity panel 1524. The production resourceidentifier 1508 (e.g., “X999AB”) identifies a production resource thatmay be utilized as an alternate. The selector 1610 may be utilized toselect another production resource as the alternate. For example, theselector 1610 may expose a list of production resources from which thealternate production resource may be selected. The production run panel1504 and the capacity panel 1524 were previously described. In thepresent example, the production run panel 1504 and the capacity panel1524 are displayed for the production resource that is selected by theselector 1610 (e.g., “X998AB”). The production run panel 1504 and thecapacity panel 1524, as illustrated in the alternate production panel1604, indicate no production runs as being scheduled for the weeks beingdisplayed. In one embodiment, the production run panel 1504 and thecapacity panel 1524 may be rolled. For example, the alternate productionpanel 1604 may include a user interface element 1609 that is selected toroll (e.g., slide) the production run panel 1504 and the capacity panel1524 backward in time to expose earlier weeks of data. Further forexample, the alternate production panel 1604 may include a userinterface element 1611 that is selected to roll (e.g., slide) theproduction run panel 1504 and the capacity panel 1524 forward in time toexpose later weeks of data. Other embodiments may utilize other types ofuser interface controls.

The production order panel 1606 includes the product identifier 1112,the production resource identifier 1508, a start date 1612, an end date1614, and the production quantity 1560. The product identifier 1112identifies the product being produced. The production resourceidentifier 1508 identifies the production resource being utilized toproduce the product. For example, the production resource identifier1508 identifies the production resource “X999AB.” The start date 1612 isthe scheduled date to begin the production run. The end date 1614 isscheduled to complete the production run. The production quantity 1560is the number of products being produced in the production run.

FIG. 14E illustrates a production schedule change user interface 1550,according to an embodiment. The production schedule change userinterface 1550 (e.g., seventh electronic user interface) may bepresented at operation 514 in FIG. 5. The production schedule changeuser interface 1550 includes the production schedule change 1551. Theproduction schedule change user interface 1550 may be displayedresponsive to receiving a drag and drop gesture (e.g., first input),described in FIG. 14D. For example, the production order identifier 1556“9876543210” being displayed corresponds to the production run 1522selected, dragged, and dropped, as previously described in FIG. 14D. Theproduction schedule change user interface 1550 includes an informationpanel 1552, a remove request 1554 and a commit different resourcerequest 1557. The commit different resource request 1557 may be selectedto commit a provisional request, as described later in this document, inreference to an alternate embodiment. The production schedule changeillustrates the production run 1522 (e.g., first production run) as(impliedly) being removed from the production resource “X999AB” (e.g.,first production resource) and added to production resource “X998AB”(e.g., second production resource).

FIG. 14F illustrates the production order user interface 1600, accordingto an embodiment. The production order user interface 1600 (e.g., eighthelectronic user interface) may be presented at operation 514 in FIG. 5.The production order user interface 1600 in FIG. 14F displays theproduction schedule change illustrated in FIG. 14E. For example, theproduction run user interface 1500 in FIG. 14F illustrates theproduction run 1522 as being selected, dragged, and dropped into thealternate production panel 1604 causing the production run 1522 to notutilize the production resource “X999AB” (e.g., first productionresource), but rather to utilize production resource “X998AB” (e.g.,second production resource). In addition, the production run 1522 isassociated with updated predicted supply chain operational metrics. Forexample, the updated predicted supply chain operational metrics includean updated value at risk ranking for the production run 1522 from “HIGH”to “LOW.” an updated capacity metric in the capacity panel 1524 in thealternate production panel 1604 indicating an increase in theutilization of the production resource “X998AB” (see three histogrambars), and an updated capacity metric in the capacity panel 1524 in theprimary production panel 1602 indicating a decrease in utilization ofthe production resource “X999AB” (see three histogram bars).

Alternate Embodiment

According to an alternate embodiment, the user does not perform a dragand drop gesture from the production order user interface 1600, asillustrated in FIG. 14D, but rather a “provisional drop and draggesture” (not illustrated). Performing the “provisional drop and draggesture” from the production order user interface 1600 does notimmediately cause a change to the utilization of production resources(e.g., production run being run on different production resource).Rather, performance of the “provisional drop and drag gesture” isreceived by the access modules 228 and processed by the machine learningapplication 218 to cause the value at risk and other predicted supplychain operational metrics to be updated without causing the change tothe utilization of the production resources. In this embodiment,performing the “provisional drop and drag gesture” enables the supplychain planners 230 to evaluate the impact of the contemplated action. Inthis embodiment, the user must further commit to causing the change tothe utilization of the production resources (e.g., production run beingrun different production resource). For example, subsequent toperforming the “provisional drop and drag gesture” the user must furtherselect commit different resource request 1557 from the productionschedule change user interface 1550, as illustrated on FIG. 14E, tocause the change to the utilization of the production resources (e.g.,production run being run on different production resource). Theproduction schedule change 1551 includes the “provisional drop and draggesture” and the “commit different resource request 1557.”

C.) Reschedule Production Run with a Different Quantity

In another embodiment, the production order user interface 1600, asillustrated in FIG. 14D, may be utilized to receive (e.g., first input)an updated production quantity 1560. For example, the productionquantity 1560 may be changed from “3800” to “6000,” causing a change tothe utilization of the production resource “X999AB.” For example, theproduction resource “X999AB” is utilized to produce “6000” productsrather than “3800” products. Responsive to receiving the change in theproduction quantity 1560, the production schedule change user interface1550 may be displayed with an updated production quantity 1560 value of“6000” and the predicted supply chain operational metrics updated. Theproduction schedule change includes the production order identifier1556, the product identifier 1112 (e.g., SKU), the production resourceidentifier 1508, the production date 1558, the production quantity 1560that has been updated to “6000,” and the remove request 1554. Theproduction schedule change user interface 1550 includes the productionschedule change 1551.

Alternate Embodiment

According to an alternate embodiment, the user does not update aproduction quantity 1560 from the production order user interface 1600,as illustrated in FIG. 14D, but rather a “provisional productionquantity” (not illustrated). Receiving the “provisional productionquantity” from the production order user interface 1600 does notimmediately cause a change to the utilization of the production resource(e.g., production run on production resource with different quantity).Rather, receiving the “provisional production quantity” by the accessmodules 228 and processing the “provisional production quantity” by themachine learning application 218 causes the value at risk and otherpredicted supply chain operational metrics to be updated without causingthe change to the utilization of the production resource. In thisembodiment, receiving the “provisional production quantity” enables thesupply chain planners 230 to evaluate the impact of the contemplatedaction. In this embodiment, the user must further commit to causing thechange the utilization of the production resource (e.g., production runon production resource with different quantity). For example, subsequentto receiving the “provisional production quantity” the user must furtherselect a “commit production quantity request” (not shown) from theproduction schedule change user interface 1550, as illustrated on FIG.14E, to cause the change the utilization of the production resource(e.g., production run on production resource with different quantity).The production schedule change 1551 includes the “provisional productionquantity” and the “commit production quantity request.”

FIG. 14G illustrates a production tracking record 1620, according to anembodiment. The production tracking record 1620 may be communicated to aplanning system 208 responsive to the machine-learning application 218receiving input that changes utilization of a production resource. Theproduction tracking record 1620 includes the production schedule change1551, as previously described, and the production actions 1621. Theproduction actions 1621 describe a set of actions that may be performedby the machine-learning application 218 and/or the planning system 208responsive to the machine-learning application 218 receiving input thatchanges utilization of one or more production resources in the supplychain 100. The production actions 1621 may include a sequence of actionsimpacting a delivery date of the product including a sequence of actionsto reschedule a production (e.g., production run) of a product (e.g.,lipstick, red) on a first production resource (e.g., third action), or asequence of actions to reschedule a production of a product from thefirst production resource to a second production resource (e.g., fourthaction), or a sequence of actions to increase a quantity of theproduction of the product on the first production resource (e.g., fifthaction).

The production actions 1621 may include a sequence of actions toreschedule a production (e.g., production run) of a product (e.g.,lipstick, red) on a production resource (e.g., first productionresource) (e.g., third action) responsive to the machine-learningapplication 218 receiving input including a drag and drop gesturecausing a rescheduling of a production run (e.g., first production run)on a production resource (e.g., first production resource), asillustrated in FIG. 14A, FIG. 14B, and FIG. 14C.

The production actions 1621 may include a sequence of actions toreschedule a production of a product from the first production resourceto a second production resource (e.g., fourth action) responsive to themachine-learning application 218 receiving input including a drag anddrop gesture causing a production run (e.g., first production run) to beremoved from a production resource (e.g., first production resource) andadded to a different production resource (e.g., a second productionresource), as illustrated in FIG. 14D, FIG. 14E, and FIG. 14F.

The production actions 1621 may include a sequence of actions toincrease a quantity of the production of the product on the firstproduction resource (e.g., fifth action) responsive to themachine-learning application 218 receiving input causing a change to theutilization of the first production resource including receiving theinput to cause an increase in a quantity of a product being produced ina production run (e.g., first production run), as illustrated in FIG.14D. Finally, the production tracking record 1620 may be stored in theproduction database 216.

FIG. 14H illustrates a method 1640, according to an embodiment, tocontrol production resources in a supply chain 100. The method 1640commences at operation 1642 with the machine-learning application 218,at the supply chain server machine 205, receiving supply chain data 306.For example, the machine-learning application 218 may receive the supplychain data 306 for delivery of a product. The supply chain data 306 mayinclude input signals comprising operational plans and observed supplychain operational metrics, as previously described. The observed supplychain operational metrics is observed across the supply chain 100. Theoperation 1642 is described in further detail in operation 600 in FIG.5.

At operation 1644, the machine-learning application 218 automaticallygenerates the predicted supply chain operational metrics. For example,the machine-learning application 218 may use operational plans andobserved supply chain operational metrics to generate the predictedsupply chain operational metrics. The machine-learning application 218automatically generates the predicted supply chain operational metricsacross the nodes of the supply chain 100. The predicted supply chainoperational metrics may include a value at risk 1110 associated with ascheduling of a production run (e.g., first production run). Forexample, the scheduling of a production run may include the schedulingof a production of a product (e.g., first product) on a productionresource (e.g., first production resource). The value at risk 1110 forthe product identified by a product identifier 1112 (e.g., firstproduct) may be displayed in the supply network planning user interface1200, as illustrated on FIG. 12. Broadly, the predicted supply chainoperational metrics include fill rate, service level, inventory metric,demand forecast, forecast attainment, the value at risk 1110, inventoryholding costs, expedite costs and liquidation costs, and so forth. Thepredicted supply chain operational metrics are generated for at leastone hierarchical level including the distribution center 108, the hub106, the plant 104, the logistic center, the customer 110 (e.g.,customer location) and a geographic location (e.g., California, NorthAmerica, Europe, San Jose, Santa Clara County, and the like). Theoperation 1644 is described in further detail in the operationsillustrated in FIG. 5, excluding operations 600, 516, and 518.

At operation 1646, the machine-learning application 218 automaticallyinfers causal factors that impact the predicted supply chain operationalmetrics. The machine-learning application 218 utilizes the observedsupply chain operational metrics to automatically infer the causalfactors. The causal factors include but are not limited to a change to autilization of the first production resource. The predicted supply chainoperational metrics that are impacted include the value at risk 1110associated with the scheduling of the first production run. For example,a value at risk 1110 for a product identified by a product identifier1112 (e.g., first product) on a production resource (e.g., firstproduction resource) may be impacted. The value at risk 1110 for theproduct (e.g., first product) on the production resource (e.g., firstproduction resource) may be displayed in the supply network planninguser interface 1200, as illustrated on FIG. 12, and updated inreal-time. The operation 1646 is described in further detail in theoperations illustrated in FIG. 5, excluding operations 600, 516, and518.

At operation 1648, the machine-learning application 218 communicates,via the access applications 228 and over a network, a user interface forproduction runs scheduled on a production resource (e.g., firstproduction resource). The user interface may include user interfaceelements (e.g., first user interface element) representing thescheduling of a production run (e.g., first production run). Thescheduling of the production run may include a scheduling of a product(e.g., first product) for production with a production resource (e.g.,first production resource). The user interface may be communicated tothe client machine 203. The client machine 203 may be operated by supplychain planners 230. The user interface for presenting a scheduling of aproduction (e.g., first production run) may include the production runuser interface 1500, as illustrated in FIG. 14A. For example, theproduction run user interface 1500 includes the user interface elements(e.g., first user interface element) representing the scheduling of theproduction run 1522 (e.g., first production run).

At operation 1650, the machine-learning application 218 receives input(e.g., first input) causing a change to a utilization of a productionresource (e.g., first production resource). For example, the input mayinclude selecting the production run 1522 from the production run userinterface 1500, dragging the production run 1522 across the productionrun user interface 1500, and dropping the production run 1522 at anotherdate/time the production run user interface 1500, as described inassociation with FIG. 14A, FIG. 14B, and FIG. 14C. Accordingly, thereceiving the input causes a change to a utilization of a productionresource by changing the date/time the production resource is utilizedto produce a product. The change to the utilization of the productionresource (e.g., first production resource) may impact the predictedsupply chain operational metrics including a value at risk 1110. Forexample, changing the date/time the production resource (e.g., firstproduction resource) is utilized to produce a product may impact thevalue at risk 1110 that is associated with the scheduling of theproduction run (e.g., first production run). An operation 1652 includesthe operation 1648 and the operation 1650. The operation 1652 isdescribed in further detail in FIG. 14I.

FIG. 14I is a block diagram illustrating a method 1660, according to anembodiment, to present and process production resources. The method 1660further describes operations performed in operations 514 and 516 of FIG.5 and the operation 1652 in FIG. 14H. Illustrated on the left is theclient machine 203; illustrated in the middle are one or more supplychain server machines 205; and illustrated on the right is the planningsystem 208 (e.g., enterprise resource planning system 204). The clientmachine 203 may be operated by a supply chain planner 230. The supplychain server machine 205 hosts the access applications 228, themachine-learning application 218, the machine-learning applicationtrainer 224, and other applications, as illustrated in FIG. 2. Theplanning system 208 may include the enterprise resource planning system204.

The method 1660 commences, at operation 1662, with the supply chainserver machine 205 communicating an electronic user interface over anetwork (e.g., Internet) to the client machine 203. For example, themachine-learning application 218 may communicate the user interface,which may include the production run user interface 1500, as illustratedin FIG. 14A.

At operation 1664, the client machine 203 receives and displays theelectronic user interface (e.g., production run user interface 1500). Atoperation 1666, the client machine 203 receives and communicates inputvia the electronic user interface. For example, the client machine 203may receive input (e.g., first input) via the production run userinterface 1500 (e.g., sixth electronic user interface).

At operation 1668, at the supply chain server machine 205, the machinelearning application 218 receives the input, via the access applications228, and at operation 1670, the machine learning application 218processes the input. For example, the machine learning application 218may process the input (e.g., first input) by causing a change to autilization (e.g., first production run) of a production resource asdescribed in association with FIG. 14A, FIG. 14B, and FIG. 14C. Themachine learning application 218 processes the input to cause a sequenceof actions that causing a change to a utilization (e.g., firstproduction run) of a production resource (e.g., third action), aspreviously described. For example, the machine learning application 218may processes one or more actions from the production actions 1621 inFIG. 14G.

At operation 1672, the machine learning application 218 communicates oneor more messages to the planning system 208. The messages may includethe production tracking record 1620, as illustrated in FIG. 14G. Forexample, the machine learning application 218 may initialize theproduction tracking record 1620, as illustrated in FIG. 14G, with theproduction schedule change 1551, as illustrated in FIG. 14B. Inaddition, the machine learning application 218 may initialize theproduction tracking record 1620 with production actions 1621 including asequence of actions to reschedule a production (e.g., production run) ofa product (e.g., first product) on a first production resource (e.g.,third action).

At operation 1674, the planning system 208 receives and processes themessage(s). According to one embodiment, the communicating themessage(s) causes a change to the utilization of a production resource(e.g., first production resource) including a rescheduling of aproduction run (e.g., first production run) on a production resource(e.g., first production resource). For example, the planning system 208may processes one or more actions from the production actions 1621 inFIG. 14G.

At operation 1676, the machine learning application 218 stores theproduction tracking record 1620 in a tracking mechanism (e.g., table) inthe production database 216. At operation 1678, the machine-learningapplication 218 regenerates the predicted supply chain operationalmetrics as described in operation 518 on FIG. 5. Accordingly, the method1660 is utilized to expedite an inbound shipment, as described above.

Second Embodiment—Reschedule Production Run on a Different ProductionResource

In the second embodiment, the method 1660 is utilized to receive input(e.g., first input) via the production order user interface 1600, asillustrated on FIG. 14D, causing a change to the utilization ofproduction resource (e.g., first production resource). For example,input may be received in the form of a drop and drag gesture causing aproduction run (e.g., first production run) to be removed from aproduction resource (e.g., first production resource) and added to analternate production resource (e.g., second production resource), as inFIG. 14D, FIG. 14E and FIG. 14F. Further, in the second embodiment, theproduction tracking record 1620, as illustrated in FIG. 14G, isinitialized with the production schedule change 1551, as illustrated inFIG. 14G, and production actions 1621. The production actions 1621include a sequence of actions to reschedule a production of a productfrom the first production resource to a second production resource(e.g., fourth action). For example, the machine learning application 218may processes one or more actions from the production actions 1621 inFIG. 14G. Further, the machine learning application 218 communicates theproduction tracking record 1620 to the planning system 208 that, inturn, causes the production run to be moved from the first productionresource to the second production resource and the planning system 208may processes one or more actions from the production actions 1621 inFIG. 14G.

Third Embodiment—Reschedule Production Run with a Different Quantity

In the third embodiment, the method 1660 is utilized to receive input(e.g., first input) via the production order user interface 1600, asillustrated on FIG. 14D, causing a change to the utilization of aproduction resource (e.g., first production resource). For example, theinput may be received via the production quantity 1560 to cause anincrease in a quantity of a product (e.g., first product) being producedin the production run 1522 (e.g., first production run) as illustratedin association with FIG. 14D. Further, in the third embodiment, theproduction tracking record 1620, as illustrated in FIG. 14G, isinitialized with the production schedule change 1551, as illustrated inFIG. 14E, and production actions 1621. The production actions 1621include a sequence of actions to increase a quantity of the productionof the product on the first production resource (e.g., fifth action).For example, the machine learning application 218 may processes one ormore actions from the production actions 1621 in FIG. 14G. Further, themachine learning application 218 communicates the production trackingrecord 1620 to the planning system 208 that, in turn, causes thequantity to be changed on the first production resource. For example,the planning system 208 may processes one or more actions from theproduction actions 1621 in FIG. 14G.

FIG. 15 is a diagrammatic representation of a machine 2700 within whichinstructions 2708 (e.g., software, a program, an application, an applet,an app, or other executable code) for causing the machine 2700 toperform any one or more of the methodologies discussed herein may beexecuted. For example, the instructions 2708 may cause the machine 2700to execute any one or more of the methods described herein. Theinstructions 2708 transform the general, non-programmed machine 2700into a particular machine 2700 programmed to carry out the described andillustrated functions in the manner described. The machine 2700 mayoperate as a standalone device or may be coupled (e.g., networked) toother machines. In a networked deployment, the machine 2700 may operatein the capacity of a server machine or a client machine in aserver-client network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine 2700 maycomprise, but not be limited to, a server computer, a client computer, apersonal computer (PC), a tablet computer, a laptop computer, a netbook,a set-top box (STB), a PDA, an entertainment media system, a cellulartelephone, a smart phone, a mobile device, a wearable device (e.g., asmart watch), a smart home device (e.g., a smart appliance), other smartdevices, a web appliance, a network router, a network switch, a networkbridge, or any machine capable of executing the instructions 2708,sequentially or otherwise, that specify actions to be taken by themachine 2700. Further, while only a single machine 2700 is illustrated,the term “machine” shall also be taken to include a collection ofmachines that individually or jointly execute the instructions 2708 toperform any one or more of the methodologies discussed herein.

The machine 2700 may include processors 2702, memory/storage 2704, andI/O components 2742, which may be configured to communicate with eachother via a bus 2744. In an example embodiment, the processors 2702(e.g., a Central Processing Unit (CPU), a Reduced Instruction SetComputing (RISC) Processor, a Complex Instruction Set Computing (CISC)Processor, a Graphics Processing Unit (GPU), a Digital Signal Processor(DSP), an ASIC, a Radio-Frequency Integrated Circuit (RFIC), anotherProcessor, or any suitable combination thereof) may include, forexample, a processor 2706 and a processor 2710 that execute theinstructions 2708. The term “Processor” is intended to includemulti-core processors that may comprise two or more independentprocessors (sometimes referred to as “cores”) that may executeinstructions contemporaneously. Although FIG. 15 shows multipleprocessors 2702, the machine 2700 may include a single processor with asingle core, a single processor with multiple cores (e.g., a multi-coreprocessor), multiple processors with a single core, multiple processorswith multiples cores, or any combination thereof.

The memory/storage 2704 includes a main memory 2712, a static memory2714, and a storage unit 2716, both accessible to the processors 2702via the bus 2744. The main memory 2712, the static memory 2714, andstorage unit 2716 store the instructions 2708 embodying any one or moreof the methodologies or functions described herein. The instructions2708 may also reside, completely or partially, within the main memory2712, within the static memory 2714, within machine-readable medium 2718within the storage unit 2716, within at least one of the processors 2702(e.g., within the processor's cache memory), or any suitable combinationthereof, during execution thereof by the machine 2700.

The I/O components 2742 may include a wide variety of components toreceive input, provide output, produce output, transmit information,exchange information, capture measurements, and so forth. The specificI/O components 2742 that are included in a particular machine willdepend on the type of machine. For example, portable machines such asmobile phones may include a touch input device or other such inputmechanisms, while a headless server machine will likely not include sucha touch input device. It will be appreciated that the I/O components2742 may include many other components that are not shown in FIG. 15. Invarious example embodiments, the I/O components 2742 may include outputcomponents 2728 and input components 2730. The output components 2728may include visual components (e.g., a display such as a plasma displaypanel (PDP), a light emitting diode (LED) display, a liquid crystaldisplay (LCD), a projector, or a cathode ray tube (CRT)), acousticcomponents (e.g., speakers), haptic components (e.g., a vibratory motor,resistance mechanisms), other signal generators, and so forth. The inputcomponents 2730 may include alphanumeric input components (e.g., akeyboard, a touch screen configured to receive alphanumeric input, aphoto-optical keyboard, or other alphanumeric input components),point-based input components (e.g., a mouse, a touchpad, a trackball, ajoystick, a motion sensor, or another pointing instrument), tactileinput components (e.g., a physical button, a touch screen that provideslocation and/or force of touches or touch gestures, or other tactileinput components), audio input components (e.g., a microphone), and thelike.

In further example embodiments, the I/O components 2742 may includebiometric components 2732, motion components 2734, environmentalcomponents 2736, or position components 2738, among a wide array ofother components. For example, the biometric components 2732 includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram-basedidentification), and the like. The motion components 2734 includeacceleration sensor components (e.g., accelerometer), gravitation sensorcomponents, rotation sensor components (e.g., gyroscope), and so forth.The environmental components 2736 include, for example, illuminationsensor components (e.g., photometer), temperature sensor components(e.g., one or more thermometers that detect ambient temperature),humidity sensor components, pressure sensor components (e.g.,barometer), acoustic sensor components (e.g., one or more microphonesthat detect background noise), proximity sensor components (e.g.,infrared sensors that detect nearby objects), gas sensors (e.g., gasdetection sensors to detection concentrations of hazardous gases forsafety or to measure pollutants in the atmosphere), or other componentsthat may provide indications, measurements, or signals corresponding toa surrounding physical environment. The position components 2738 includelocation sensor components (e.g., a GPS receiver Component), altitudesensor components (e.g., altimeters or barometers that detect airpressure from which altitude may be derived), orientation sensorcomponents (e.g., magnetometers), and the like.

Communication may be implemented using a wide variety of technologies.The I/O components 2742 further include communication components 2740operable to couple the machine 2700 to a network 2720 or devices 2722via a coupling 2724 and a coupling 2726, respectively. For example, thecommunication components 2740 may include a network interface componentor another suitable device to interface with the network 2720. Infurther examples, the communication components 2740 may include wiredcommunication components, wireless communication components, cellularcommunication components, Near Field Communication (NFC) components,Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components,and other communication components to provide communication via othermodalities. The devices 2722 may be another machine or any of a widevariety of peripheral devices (e.g., a peripheral device coupled via aUSB).

Moreover, the communication components 2740 may detect identifiers orinclude components operable to detect identifiers. For example, thecommunication components 2740 may include Radio Frequency Identification(RFID) tag reader components, NFC smart tag detection components,optical reader components (e.g., an optical sensor to detectone-dimensional bar codes such as Universal Product Code (UPC) bar code,multi-dimensional bar codes such as Quick Response (QR) code, Azteccode, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2Dbar code, and other optical codes), or acoustic detection components(e.g., microphones to identify tagged audio signals). In addition, avariety of information may be derived via the communication components2740, such as location via Internet Protocol (IP) geolocation, locationvia Wi-Fi® signal triangulation, location via detecting an NFC beaconsignal that may indicate a particular location, and so forth.

Machine-Storage Media

The various memories (e.g., memory/storage 2704, main memory 2712,static memory 2714, and/or memory of the processors 2702) and/or storageunit 2716 may store one or more sets of instructions and data structures(e.g., software) embodying or used by any one or more of themethodologies or functions described herein. These instructions (e.g.,the instructions 2708), when executed by the processors 2702, causevarious operations to implement the disclosed embodiments. Theinstructions 2708 may also reside, completely or partially, within themain memory 2172, within the static memory 2714, within the storage unit2716, within at least one of the processors 2702 (e.g., within theprocessor's cache memory), or any suitable combination thereof, duringexecution thereof by the machine 2700. Accordingly, the main memory2172, the static memory 2714, the storage unit 2716, and at least one ofthe processors 2702 are examples of machine-storage media.

The instructions 2708 may be transmitted or received over the network2720, using a transmission medium, via a network interface device (e.g.,a network interface Component included in the communication components2740) and using any one of a number of well-known transfer protocols(e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions2708 may be transmitted or received using a transmission medium via thecoupling 2726 (e.g., a peer-to-peer coupling) to the devices 2722.

Transmission Medium

The term “signal medium” or “transmission medium” shall be taken toinclude any intangible medium that is capable of storing, encoding, orcarrying the instructions 2708 for execution by the machine 2700, andincludes digital or analog communications signals or other intangiblemedia to facilitate communication of such software.

Machine-Readable Medium

The terms “machine-readable medium,” “computer-readable medium” and“device-readable medium” mean the same thing and may be usedinterchangeably in this disclosure. The terms are defined to includeboth machine-storage media and transmission medium. Thus, the termsinclude both storage devices/media and carrier waves/modulated datasignals.

FIG. 16 is a block diagram 2800 illustrating a software architecture2804, which can be installed on any one or more of the devices describedherein. The software architecture 2804 is supported by hardware such asa machine 2802 that includes processors 2820, memory 2826, and I/Ocomponents 2838. In this example, the software architecture 2804 can beconceptualized as a stack of layers, where each layer provides aparticular functionality. The software architecture 2804 includes layerssuch as an operating system 2812, libraries 2810, frameworks 2808, andapplications 2806. Operationally, the applications 2806 invoke API calls2850 through the software stack and receive messages 2852 in response tothe API calls 2850.

The operating system 2812 manages hardware resources and provides commonservices. The operating system 2812 includes, for example, a kernel2814, services 2816, and drivers 2822. The kernel 2814 acts as anabstraction layer between the hardware and the other software layers.For example, the kernel 2814 provides memory management, processormanagement (e.g., scheduling), component management, networking, andsecurity settings, among other functionality. The services 2816 canprovide other common services for the other software layers. The drivers2822 are responsible for controlling or interfacing with the underlyinghardware. For instance, the drivers 2822 can include display drivers,camera drivers, BLUETOOTH® or BLUETOOTH® Low Energy drivers, flashmemory drivers, serial communication drivers (e.g., Universal Serial Bus(USB) drivers), WI-FI® drivers, audio drivers, power management drivers,and so forth.

The libraries 2810 provide a low-level common infrastructure used by theapplications 2806. The libraries 2810 can include system libraries 2818(e.g., C standard library) that provide functions such as memoryallocation functions, string manipulation functions, mathematicfunctions, and the like. In addition, the libraries 2810 can include APIlibraries 2824 such as media libraries (e.g., libraries to supportpresentation and manipulation of various media formats such as MovingPicture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC),Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC),Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group(JPEG or JPG), or Portable Network Graphics (PNG)), graphics libraries(e.g., an OpenGL framework used to render in two dimensions (2D) andthree dimensions (3D) in a graphic content on a display), databaselibraries (e.g., SQLite to provide various relational databasefunctions), web libraries (e.g., WebKit to provide web browsingfunctionality), and the like. The libraries 2810 can also include a widevariety of other libraries 2828 to provide many other APIs to theapplications 2806.

The frameworks 2808 provide a high-level common infrastructure that isused by the applications 2806. For example, the frameworks 2808 providevarious graphical user interface (GUI) functions, high-level resourcemanagement, and high-level location services. The frameworks 2808 canprovide a broad spectrum of other APIs that can be used by theapplications 2806, some of which may be specific to a particularoperating system or platform.

In an example embodiment, the applications 2806 may include a homeapplication 2836, a contacts application 2830, a browser application2832, a book reader application 2834, a location application 2842, amedia application 2844, a messaging application 2846, a game application2848, and a broad assortment of other applications such as a third-partyapplication 2840. The applications 2806 are programs that executefunctions defined in the programs. Various programming languages can beemployed to create one or more of the applications 2806, structured in avariety of manners, such as object-oriented programming languages (e.g.,Objective-C, Java, or C++) or procedural programming languages (e.g., Cor assembly language). In a specific example, the third-partyapplication 2840 (e.g., an application developed using the ANDROID™ orIOS™ software development kit (SDK) by an entity other than the vendorof the particular platform) may be mobile software running on a mobileoperating system such as IOS™, ANDROID™, WINDOWS® Phone, or anothermobile operating system. In this example, the third-party application2840 can invoke the API calls 2850 provided by the operating system 2812to facilitate functionality described herein.

1. A system comprising: one or more processors; and a memory storinginstructions that, when executed by the one or more processors,configure the one or more processor to perform operations comprising:receiving supply chain data for delivery of a product, the supply chaindata including a plurality of input signals comprising operational plansand observed supply chain operational metrics, the observed supply chainoperational metrics being observed across a supply chain, the pluralityof input signals including a delivery date of the product; automaticallygenerating, using a machine learning application and the operationalplans and the observed supply chain operational metrics, predictedsupply chain operational metrics across a plurality of nodes of thesupply chain, the predicted supply chain operational metrics including avalue at risk that is predicted for the product; automaticallyinferring, using the machine learning application and the observedsupply chain operational metrics, causal factors that impact thepredicted supply chain operational metrics including impacting the valueat risk that is predicted for the product; and automatically generating,using the machine learning application based on the causal factors andthe predicted supply chain operational metrics, action recommendationsfor the supply chain, each action recommendation having a predictedvalue impact, the action recommendations including a first actionrecommendation with a first predicted value impact, the first actionrecommendation further including a sequence of actions impacting thedelivery date of the product and the value at risk that is predicted forthe product.
 2. The system of claim 1, wherein the receiving of thesupply chain data includes automatically ingesting the supply chain datato extract the plurality of input signals.
 3. The system of claim 1,wherein the predicted supply chain operational metrics include any oneor more of fill rate, service level, inventory metric, demand forecast,forecast attainment, value at risk, inventory holding costs, expeditecosts and liquidation costs, and wherein the predicted supply chainoperational metrics are generated for at least one hierarchical leveland wherein the at least one hierarchical level includes a distributioncenter, a hub, a logistic center, a customer location and a geographiclocation.
 4. The system of claim 1, wherein the instructions furthercause the one or more processors to perform operations comprising:causing presentation, within a first electronic user interface, of datarepresenting the action recommendations and the predicted value impacts,and wherein the data representing the action recommendations and thepredicted value impacts are for a product at a node in the supply chain,the action recommendations including the first action recommendation. 5.The system of claim 4, wherein the instructions further cause the one ormore processors to perform operations comprising: receiving, over anetwork, a first selection identifying the first action recommendationfrom the first electronic user interface; and communicating, over thenetwork, an electronic message to a planning system, the communicatingbeing responsive to the identifying the first action recommendationbeing selected, the electronic message causing an execution of a portionof a first set of actions.
 6. The system of claim 5, wherein theinstructions further cause the one or more processors to performoperations comprising: storing, in a tracking mechanism, the firstpredicted value impact, the first predicted value impact being based onthe first action recommendation being executed, the storing in thetracking mechanism being in real time; and regenerating, using themachine learning application and the observed supply chain operationalmetrics, the predicted supply chain operational metrics across theplurality of nodes of the supply chain and wherein the regenerating thepredicted supply chain operational metrics includes regenerating thepredicted supply chain operational metrics based on the sequence ofactions impacting the product including a value at risk associated withthe product at various time horizons.
 7. The system of claim 1, whereinthe machine learning application was trained with supply chain trainingdata that was received, over time, as supply chain data from one or moresupply chains including the supply chain, and wherein the supply chaindata includes the operational plans and the observed supply chainoperational metrics, historical actions and wherein the machine learningapplication utilizes a plurality of features including stock levels,stock transfer operations, supplier lead times that are stated, andsupplier lead times that are actual, sales orders, stock transferorders, and stock transfer requests.
 8. The system of claim 1, whereinthe instructions further cause the one or more processors to performoperations comprising: automatically identifying the first actionrecommendation as an optimal recommended action and executing the firstaction recommendation; communicating, over a network, an electronicmessage to a planning system, the communicating being responsive to theidentifying the first action recommendation as an optimal recommendedaction, the electronic message causing an execution of a portion of afirst set of actions; storing, in a tracking mechanism, the firstpredicted value impact, the first predicted value impact being based onthe first action recommendation as being executed, the storing in thetracking mechanism being in real time; and regenerating, using themachine learning application and the observed supply chain operationalmetrics, the predicted supply chain operational metrics across theplurality of nodes of the supply chain and wherein the regenerating thepredicted supply chain operational metrics includes regenerating thepredicted supply chain operational metrics based on the first predictedvalue impact.
 9. The system of claim 1, wherein the sequence of actionsimpacting the value at risk of the product includes impacting the valueat risk of the product at a specific time horizon and wherein theimpacting the value at risk of the product at a specific time horizonincludes any one or more of a first sequence of actions to expedite anoutbound shipment of the product, a second sequence of actions toreallocate a quantity of outbound shipment of the product across thesupply network, a third sequence of actions to reschedule a productionof the product on a first production resource, a fourth sequence ofactions to reschedule a production of the product from the firstproduction resource to a second production resource, a fifth sequence ofactions to increase a quantity of the production of the product on thefirst production resource.
 10. A method comprising: receiving supplychain data for delivery of a product, the supply chain data including aplurality of input signals comprising operational plans and observedsupply chain operational metrics, the observed supply chain operationalmetrics being observed across a supply chain, the plurality of inputsignals including a delivery date of the product; automaticallygenerating, using a machine learning application and the operationalplans and the observed supply chain operational metrics, predictedsupply chain operational metrics across a plurality of nodes of thesupply chain, the predicted supply chain operational metrics including avalue at risk that is predicted for the product; automaticallyinferring, using the machine learning application and the observedsupply chain operational metrics, causal factors that impact thepredicted supply chain operational metrics including impacting the valueat risk that is predicted for the product; and automatically generating,using the machine learning application based on the causal factors andthe predicted supply chain operational metrics, action recommendationsfor the supply chain, each action recommendation having a predictedvalue impact, the action recommendations including a first actionrecommendation with a first predicted value impact, the first actionrecommendation further including a sequence of actions impacting theproduct the delivery date of the product and the value at risk that ispredicted for the product.
 11. The method of claim 10, wherein thereceiving of the supply chain data includes automatically ingesting thesupply chain data to extract the plurality of input signals.
 12. Themethod of claim 10, wherein the predicted supply chain operationalmetrics include any one or more of fill rate, service level, inventorymetric, demand forecast, forecast attainment, value at risk, inventoryholding costs, expedite costs and liquidation costs, and wherein thepredicted supply chain operational metrics are generated for at leastone hierarchical level and wherein the at least one hierarchical levelincludes a distribution center, a hub, a logistic center, a customerlocation and a geographic location.
 13. The method of claim 10, furthercomprising: causing presentation, within a first electronic userinterface, of data representing the action recommendations and thepredicted value impacts, and wherein the data representing the actionrecommendations and the predicted value impacts are for a product at anode in the supply chain, the action recommendations including the firstaction recommendation.
 14. The method of claim 13, further comprising:receiving, over a network, a first selection identifying the firstaction recommendation from the first electronic user interface; andcommunicating, over the network, an electronic message to a planningsystem, the communicating being responsive to the identifying the firstaction recommendation being selected, the electronic message causing anexecution of a portion of a first set of actions.
 15. The method ofclaim 14, further comprising: storing, in a tracking mechanism, thefirst predicted value impact, the first predicted value impact beingbased on the first action recommendation being executed, the storing inthe tracking mechanism being in real time; and regenerating, using themachine learning application and the observed supply chain operationalmetrics, the predicted supply chain operational metrics across theplurality of nodes of the supply chain and wherein the regenerating thepredicted supply chain operational metrics includes regenerating thepredicted supply chain operational metrics based on the sequence ofactions impacting the product including the delivery date of theproduct.
 16. The method of claim 10, wherein the machine learningapplication was trained with supply chain training data that wasreceived, over time, as supply chain data from one or more supply chainsincluding the supply chain, and wherein the supply chain data includesthe operational plans and the observed supply chain operational metrics,and wherein the machine learning application utilizes a plurality offeatures including stock levels, supplier lead times that are stated,and supplier lead times that are actual, sales orders, stock transferorders, and stock transfer requests.
 17. The method of claim 10, furthercomprising: automatically identifying the first action recommendation asan optimal recommended action and executing the first actionrecommendation; communicating, over a network, an electronic message toa planning system, the communicating being responsive to the identifyingthe first action recommendation as an optimal recommended action, theelectronic message causing an execution of a portion of a first set ofactions; storing, in a tracking mechanism, the first predicted valueimpact, the first predicted value impact being based on the first actionrecommendation as being executed, the storing in the tracking mechanismbeing in real time; and regenerating, using the machine learningapplication and the observed supply chain operational metrics, thepredicted supply chain operational metrics across the plurality of nodesof the supply chain and wherein the regenerating the predicted supplychain operational metrics includes regenerating the predicted supplychain operational metrics based on the first predicted value impact. 18.The method of claim 10, wherein the sequence of actions impacting thedelivery date of the product includes any one or more of a firstsequence of actions to expedite an outbound shipment of the product, asecond sequence of actions to reallocate a quantity of outbound shipmentof the product, a third sequence of actions to reschedule a productionof the product on a first production resource, a fourth sequence ofactions to reschedule a production of the product from the firstproduction resource to a second production resource, a fifth sequence ofactions to increase a quantity of the production of the product on thefirst production resource.
 19. A non-transitory machine-readable medium,the machine-readable medium including instructions that when executed bya computer, cause the computer to perform operations comprising:receiving supply chain data for delivery of a product, the supply chaindata including a plurality of input signals comprising operational plansand observed supply chain operational metrics, the observed supply chainoperational metrics being observed across a supply chain, the pluralityof input signals including a delivery date of the product; automaticallygenerating, using a machine learning application and the operationalplans and the observed supply chain operational metrics, predictedsupply chain operational metrics across a plurality of nodes of thesupply chain, the predicted supply chain operational metrics including avalue at risk that is predicted for the product; automaticallyinferring, using the machine learning application and the observedsupply chain operational metrics, causal factors that impact thepredicted supply chain operational metrics including impacting the valueat risk that is predicted for the product; and automatically generating,using the machine learning application based on the causal factors andthe predicted supply chain operational metrics, action recommendationsfor the supply chain, each action recommendation having a predictedvalue impact, the action recommendations including a first actionrecommendation with a first predicted value impact, the first actionrecommendation further including a sequence of actions impacting theproduct the delivery date of the product and the value at risk that ispredicted for the product.
 20. The non-transitory machine-readablemedium of claim 19, wherein the receiving of the supply chain dataincludes automatically ingesting the supply chain data to extract theplurality of input signals.